Python常用数据类型
一 、列表
1 name = ['zhangshan', 'lishi', 'wangwu']# 列表赋值 2 name.append('liujun')# 增,默认增加到最后位置 3 name.insert(1, 'chensan')# 插入到制定索引位置 4 5 name.remove(name[0])# 删除指定值 6 name.pop(1)# 弹出指定索引的值,默认弹出最后一个 7 name.clear()# 清空列表里的值,变成空列表 8 del name # 删除变量 9 a = [x for x in range(10)]# 列表解析 [0,1,2,3,4,5,6,7,8,9] 10 11 name.count('liujun')# 计数,指定值出现的次数 12 name.extend(['haha', 'hehe'])# 列表合并 13 name.index('liujun')# 返回该值的索引的位置 14 name.sort(reverse=True)# 从小到大排序 15 len(name)# 取列表的长度 16 enumerate(name,1)# 枚举,给定起始值 17 print(name[1:-1])# 列表切片 18 print(name[-1::-1])#
二、元组
1 a = (1,2,3)# 不可变类型,无法修改 2 b = tuple([4,5,6])
不可变类型:整型a=123,字符型a=str,元组a=(1,2,3,)
三、字典
字典是无序的,没有索引值
1 di = dict((('name','liujun'),('age','23'),('like','game')))# 用dict函数创建字典 2 di = {'name':'liujun','age':'23','like':'game'}# 直接创建
增
1 di = {} 2 di['job'] = 'IT' 3 di.setdefault('aaa','bbb')# 如果键存在则返回这个键值,否则添加进去
查
1 print(di['name'])# 打印指定键的值 2 print(list(di.keys()))# 把所有键名转换成列表输出 3 print(list(di.values()))# 把所有值转换成列表输出 4 print(list(di.items()))# 把所有的键值对转换成对应的元组[('like', 'game'), ('job', 'IT'), ('age', '23'), ('name', 'liujun')]
改
1 di['age'] = '20' # 修改指定键名的值 2 di.update(ci)# 更新,把字典ci合并到di,如果有相同的键就覆盖掉
删
1 di.clear()# 清空字典,变成空字典 2 del di['name']# 删除指定的键值对 3 del di# 删除整个字典 4 di.pop('age')# 弹出指定键的值
其他方法
1 di = dict.fromkeys(['s1','s2','s3'],'ss')# 交叉创建字典 2 print(sorted(di))# 对键名从小到大排序 3 for v in di:# 遍历字典 4 print(v,di[v])# 同时输出键和值 5 for k,v in di.items():# 转成一对对元组再遍历 6 print(k,v)
可变类型:列表a=[1,2,3],字典a={‘str:liu’, ‘aa:ee’}无序列关系
四、集合
集合特性:去掉重复值,关系测试
1 a = set([1,2,3,4,5]) # 创建可变集合
2 aa = frozenset([6,7,8,9,10]) # 创建不可变集合
增
1 a.add('liu')# 字符串当做一个整体增加进集合 2 a.update(['jun'])# 合并;列表形式中的字符串也是一个整体 3 a.update('jun')# 这个会拆分成单个字符增进集合
删
a.remove('liujun')# 删除指定值 a.clear()# 清空,变成空集合 print(a.pop())# 弹出一个值,由于集合也是无序,所以随机弹出 del a# 删除变量
关系测试
a = set([1,2,3,3,4,5,5])
b = set([3,5,7,8,9])
1 print(a.intersection(b)) # 交集 2 print(a & b) # {3, 5} 3 print(a.union(b)) # 并集 4 print(a | b) # {1, 2, 3, 4, 5, 7, 8, 9} 5 print(a.difference(b)) # 差集 6 print(a - b) # {1, 2, 4} 7 print(a.symmetric_difference(b)) # 对称差集 8 print(a ^ b) # {1, 2, 4, 7, 8, 9} 9 print(a.issuperset(b)) # 父集;a是否完全包含b 10 print(a > b) # False 11 print(a.issubset(b)) # 子集 12 print(b < a)# False