NotBoom

导航

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])# 
View Code

 

 

 

 

二、元组

1 a = (1,2,3)# 不可变类型,无法修改
2 b = tuple([4,5,6])
View Code

 

 

不可变类型:整型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

 

 


posted on 2017-12-16 16:42  NotBoom  阅读(692)  评论(0编辑  收藏  举报