标签:并集 ict dom rss order diff ssi dict range
元组  | a=(‘a‘,)  | a=(‘a‘,‘b‘)  | 
特点  | 有序  | 不可变,不可以修改元组的值,无法为元组增加或者删除元素  | 
元组的创建  | a=(‘a‘,)  | a=(‘a‘,‘b‘)  | 
tuple(‘abcd‘)  | 转化为元组  | |
tuple(i for i in range(10))  | 生成器推导式转化为元组,生成器推导式产生的生成器对象只能遍历一次  | |
g=( i for i in range(10)) next(g)  | 单步迭代生成器对象  | |
for i in g: print(i,end=‘‘)  | 直接迭代生成器对象  | |
a=[1,2,3,4] b=[‘a‘,‘b‘,‘c‘,‘d‘] for I in zip(a,b): print(i) (1,‘a‘) (2,‘b‘) (3,‘c‘) (4,‘d‘)  | Zip接受a和b 作为参数,把对应位置的元素打包成一个个元组,返回zip对象  | |
元组的遍历  | for I in a: print(i) for I in range(len(a)): print(a[i])  | |
元组的删除  | del a  | 删掉整个元组  | 
字典  | {‘a‘:1,‘b‘:2,‘c‘:3}  | |
特点  | 键是任意不可变的数据,键不允许重复  | 值可以重复,可以修改的  | 
无序可变  | 不可以使用 for i in range(len(a)): a[i] 这种方式来遍历 在字典中[]操作符表示读取某键对应的值  | |
字典的创建  | a={‘a‘:1,‘b‘:2,‘c‘:3}  | |
Keys=[‘a‘,‘b‘,‘c‘,‘d‘] Values=[1,2,3,4] dict(zip(keys,values))  | 通过已有的键值对快速创建字典  | |
D=dict(name=‘Dong‘,age=37) {‘name‘:‘Dong‘,‘age‘=37} 但是不能写成 Dict(1=2) Dict(‘name‘=‘Dong‘) 这样会抛keyword cannot be an experssion的异常  | ||
a=dict.fromkeys([‘name‘,‘age‘,‘sex‘])  | 给定键值,值为空  | |
mca={"a":1, "b":2, "c":3, "d":4} dicts={v:k for k,v in mca.items()} 结果为 {1: ‘a‘, 2: ‘b‘, 3: ‘c‘, 4: ‘d‘}  | 字典推导式  | |
字典元素的读取  | a[‘name‘]  | 若name存在,则返回值,若name不存在,则keyError  | 
a.get(‘name‘,‘Amy‘)  | 获得指定的键对应的值,如果键不存在,则返回指定的值  | |
字典元素的添加与修改  | a[‘age‘]=38  | 若键存在,表示修改键的值,若不存在,表示添加一个新的键值对  | 
a.update({‘a‘:a,‘b‘:b})  | 将另一个字典中的键值对添加到a中,如果键值有相同的,则以另一个字典中的值为准  | |
字典元素的删除  | del(a[‘age‘])  | |
a.pop(‘age‘)  | 删除指定键的元素并返回指定键的值  | |
a.popitem()  | 随机删除并返回键值对  | |
a.clear()  | 删除字典中所有元素  | |
字典的遍历  | a={‘name‘:‘Dong‘,‘age‘=37} for item in a.items(): print(a) (‘age‘,37) (‘name‘,Dong)  | items() 方法返回键值对 是dict_items类型的  | 
for I in a: print(i) ‘name‘ ‘age‘  | 啥也不写,就是遍历键  | |
for i in a.keys(): print(i) ‘name‘ ‘age‘  | keys()方法返回键 是dict_keys类型的  | |
for i in a.values(): print(i) ‘Dong‘ ‘37‘  | values()方法返回值,是dict_values类型的  | |
字典的应用  | ||
统计频率  | d=dict() for ch in z: d[ch]=d.get(ch,0)+1  | 如果ch在字典中已经存在,那么get就会返回频率 ,频率+1,如果不存在,那么get返回0,+1,频率就是1  | 
集合  | a={3,5}  | |
特点  | 无序可变  | 集合中元素不许重复  | 
集合的创建  | X={random.randint(1,500) for i in range(100)}  | 集合推导式  | 
set([1,1]) {1}  | 转化为集合,如果原来的数据中存在重复元素,在转换位集合时只保留一个  | |
set() 不是{} 这个是空字典  | 创建一个空集合  | |
集合元素的添加  | a.add(7)  | 往集合中加入重复的元素,是加不进去的,也不会有任何异常  | 
集合元素的删除  | a.pop()  | 删除任意一个集合中的元素  | 
a.remove(3)  | 从集合中删除3  | |
a.clear()  | 从集合中删除所有元素  | |
集合的操作  | ||
并集  | a|b  | a.union(b)  | 
交集  | a&b  | a.intersection(b)  | 
差集  | a-b  | a.difference(b)  | 
对称差  | a^b  | a.symmetric_difference(b)  | 
集合大小(一个 set 比另一个 set 小,只有在第一个 set 是第二个 set 的 subset 时)  | a<b  | |
判断是否是子集  | a.issubset(b)  | |
集合的应用  | ||
提取序列中所有不重复的元素  | a=set(list_b)  | |
生成不重复的随机数  | data=set() while True: data.add(random.randint(0,100)) if len(data)==20 break  | |
标签:并集 ict dom rss order diff ssi dict range
原文地址:http://www.cnblogs.com/unflynaomi/p/6535990.html