Notes on learning Python(2)——数据类型

男娘i 2022-03-08 10:44 271阅读 0赞

文章目录

  • 序列
    • 索引操作符 [ num ]
    • 切片操作符 [ num1 : num2 : num3]
    • 基本操作
  • 数据类型
    • 数字
      • 整型int
      • 长整型long
      • 浮点型float
      • 复数型complex
    • 字符串
      • 字符串的索引
      • 字符串的切片
    • 列表[ ]
      • 创建列表
      • 列表的操作
    • 元组()
      • 创建元组
      • 元组的拆分
    • 字典{ }
      • 字典的操作
  • help

序列

序列包括:字符串、列表、元组
序列的两个特点:

索引操作符 [ num ]

从序列中抓取特定项目
索引可以是正数也可以是负数
做负数时位置是从序列尾开始计数

  1. str1 = abcd
  2. str1[0] = a
  3. str1[-1] = d #-1 是字符串最后一个元素

切片操作符 [ num1 : num2 : num3]

获取序列的一部分(切片)
切片操作符是序列后跟一个带有冒号的方括号及 [ num1 : num2]
num1是切片开始的位置,num2为切片结束的位置但不包括这个位置,num3是步长值,默认为1可省略
若没有num1时,序列从首位置开始切片
若没有num2时,切片截止到尾位置
切片操作符中首个冒号不可省略

基本操作






































操作符 意义
len() 求序列长度
+ 连接两个序列
* 重复序列元素
in 判断元素是否在序列中
max 返回最大值
min 返回最小值
cmp(tuple1,tuple2) 比较序列值是否相同

注:
in操作为真时返回 True 假为False
cmp()操作 前一个序列值大于后一个序列值时为1,小于时为-1,等于时为0
在这里插入图片描述

数据类型

数字

整型int

整数int的范围是: -2,147,483,648 到 2,147,483,647
例程:

  1. >>> num= 2147483647
  2. >>> type(num)
  3. <type'int'>

长整型long

长整型long可以存储任意大的整数
为了区分整型与长整型,需在数字后面添加‘L’或者‘l’
例程:

  1. >>>num = 9999999999999999999
  2. >>>type(num)
  3. <type'long'>
  4. >>>num = 2333L
  5. >>>type(num)
  6. <type'long'>

浮点型float

  1. >>> f1 = 0.1
  2. >>> type(f1)
  3. <type'float'>

复数型complex

python对复数提供内嵌支持
在这里插入图片描述

字符串

使用引号包含数字、字母、符号的集合

  1. Strval = 'Great'
  2. Strval = ''Great''
  3. Strval = '''Great'''

三重引号制作字符串

在这里插入图片描述

字符串的索引

  1. a = 'ABCD'
  2. b ='abcd'
  3. a[0] = A
  4. b[0] = a
  5. a[0]+ b[0] = Aa

在这里插入图片描述

字符串的切片

  1. a = 'abcdefg'
  2. a[1:4]
  3. <bcd> #取的是字符串第二个开始取字符到第五个字符前一个字符

在这里插入图片描述

  1. a = 'abcdefg'
  2. a[0:6:2]
  3. <ace> #在第1个到第6个字符中每隔两个取一个字符

负数也是这个道理
在这里插入图片描述

列表[ ]

  • 列表用方括号规范元素。元素可以是字符串也可以是数字,元素之间用逗号隔开。
  • 列表list是处理一组有序项目的数据结构,在列表中存储有序的项目数据。
  • 列表存储的项目数据是可变的
  • 可对列表进行索引和切片
  • 对列表元素进行赋值时,其地址是不变的

创建列表

  • 空列表

    list = []

  • 单元素列表

    list = [element]

  • 一般列表

    List1 = [‘family’,’friend’,’money’]
    List2 = [1,2,3,4,5]
    List3 = [“str1”,”str2”,”str3”]

列表的操作














取值 -
切片 索引











添加
list.append( )













删除第一个元素
list.remove( list[ ] ) ) del( list[ ]











移除列表中最后一个元素(默认),并返回该元素的值
list.pop([index=-1])











将对象插入列表
list.insert(index, element)











修改元素
list[num] = x











反向列表中元素
list.reverse()











对原列表进行排序
list.sort(cmp=None, key=None, reverse=False)











统计元素出现的次数
list.count(element)











元组转换成列表
list [tuple ]











列表扩展列表
list.extend(list[num1,num2])













定位某元素第一次出现的位置 -
list.index(element) -











查找
var in list

在这里插入图片描述

元组()

  • 元组与列表类似,但是元组与字符串一样不可修改
  • 元组通过逗号将括号内的项目隔开,通常用在使语句和自定义函数唯一,即被使用的元组的值不变
  • 在对元组元素进行赋值时,赋值前后其地址是不同的

创建元组

  • 空元组
    由一对空的圆括号组成
    例:

    empty = ()

  • 单个元素元组(逗号不可省略)

    single = (2,)

  • 一般元组

    general = (’family’,’friend’,’money’)

    general = (’family’,’friend’,’money’)
    general[1] = ‘girlfriend’
    由于元组内容固定,不可通过上述操作对元组内容进行更改

元组和字符串一样属于序列类型,可通过索引和切片操作,这里不过多解释。

元组的拆分

定义一个元组,元组内有n个元素,通过元组的拆分可将这n个元素分别赋予n个变量

在这里插入图片描述
列表和元组能实现对数据的索引和切片

  1. input:
  2. list = ['HBX_1024','24','male']
  3. output:
  4. list[0] = 'HBX_1024'

但是不能直接实现

  1. list[name] = 'HBX_1024'

即使遍历列表也达不到映射的效果

  1. input:
  2. list = ['name','age', 'gender']
  3. list1 = ['HBX_1024','24','male']
  4. zip(list,list1)#遍历列表,将两个列表变为元组
  5. output:
  6. [('name','HBX_1024'),('age','24'),('gender','male')]

这是就需要用字典来解决此类问题。

字典{ }

  • 字典是python惟一映射类型(哈希表)
  • 字典存储的数据是无序
  • 字典对象可变的,但是字典的 key 必须使用 不可变对象
  • 字典中可使用不同类型的键值
  • values() 或者 keys() 返回值列表或者键列表
  • items() 返回包含键值对应的元组

形式:

  1. dic = {key1 : 'a' ,key2 : 'b' ,key3 : 'c' ,key4 : 'd' }
  2. dic[key1] = a
  3. dic[key2] = b
  4. dic[key3] = c
  5. dic[key4] = d

字典

字典的操作

更新和删除:

  1. 直接用键值访问更新;内建的update()方法可以将整个字典的美容拷贝到另一个字典中。
  2. del dict[‘a’]#删除字典中键值为a的元素

    1. dic.pop('a')#删除并返回键值为‘a’的元素
    2. dic.clear()#删除字典所有的元素
    3. del dict#删除整个字典

操作

  1. 内建函数

    • type()#查看类型
    • str()#生成大字符串
    • cmp()#依次比较字典的大小、键、值
  2. 工厂函数dict()

    • 例如:dict(zip(‘x’,‘y’),(1,2)) 或 dict(x = 1,y = 2)
    • {‘y’:2,‘x’:1}
    • 使用字典生成字典比用copy慢,推荐使用copy()





























































常用操作
len() 长度
hash() 判断对象是否可做键
dict.clear() 清空字典
dict.fromkeys(seq,val = None) 以seq中的元素为键创建并返回一个字典,val 为默认值
dict.get(key,default = None) 返回key的value,若不存在返回default指定值
dict.has_key(key) 判断字典是否存在key,可用in,not in代替
dict.items() 返回键值对元组的列表
dict.keys 返回字典中键的列表
dict.iter*()
dic.pop(key[,default])
dict.setdefault(key,default = None)
dict.update(dic2) 将dict2中的键值对添加到字典dict中
dict.values() 返回字典中所有值的列表

help

对于不清楚函数的意义和用法可以用help( ) 来查询。

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读