国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python08

2019-11-08 19:52:47
字體:
來源:轉載
供稿:網友

字典用法

比較大小

Ⅰ 如果字典的長度不同,用cmp(dict1,dict2)比較大小時,如果字段dict1比dict2長,cmp()返回正直,如果dict2比dict1長,則返回負值,字典的鍵越多這個字典就越大 Ⅱ 如果兩個字典的長度相同,那就按字典的鍵比較,鍵比較的順序和keys()方法返回鍵的順序相同 Ⅲ 如果兩個字典的長度相同而且他們的鍵也匹配,則用字典中每個相同的鍵所對應的值進行比較,一旦出現不匹配的值,就對這兩個值進行直接比較 Ⅳ 如果字典有相同的長度,相同的鍵,每個鍵也對應相同的值,則字典完全匹配,返回0值

>>> dict([['x',1],['y',2]]){'x': 1, 'y': 2}>>> dict([('xy'[i-1],1) for i in range(1,3)]){'x': 1, 'y': 1}>>> dict(x=1,y=2){'x': 1, 'y': 2}>>> dict1=dict(x=1,y=2)>>> dict1{'x': 1, 'y': 2}>>> dict2=dict(**dict1)>>> dict2{'x': 1, 'y': 2}>>> dict3=dict2.copy()>>> dict3{'x': 1, 'y': 2}>>> len(dict3)2>>> dict2.keys()dict_keys(['x', 'y'])>>> dict2.values()dict_values([1, 2])>>> dict2.items()dict_items([('x', 1), ('y', 2)])>>> for key in dict2.keys():... 可用方法
字典方法 含義
dict.clear() 刪除字典中所有元素
dict.copy() 返回字典的一個副本
dict.fromkeys(seq,val=None) 創建并返回一個新字典,以seq中的元素做該字典的鍵,val做該字典中所有鍵對應的初始值(為提供默認為None)
dict.get(key,default=None) 對字典dict中的鍵key,返回它對于的值value,如果字典中不存在此鍵,則返回default的值(默認為None)
dict.has_key(key) 如果key在字典中存在,返回True,否則返回False
dict.items() 返回一個包含字典中鍵,值對元祖列表
dict.keys() 返回一個包含字典中鍵的列表
dict.iter() 方法iteritems(),iterkeys(),itervalues()與它們對應的非迭代方法一樣,不同的是它們返回一個迭代子,而不是一個列表
dict.pop(key[,default]) 和方法get()相似,如果字典中key鍵存在,刪除并返回dict[key],如果key鍵不存在,且沒有給出default的值,引發keyError異常
dict.setdefault(key,default=None) 如果字典中不存在key鍵,有dict[key]=default為它賦值
dict.update(dict2) 將字典dict2的鍵-值對添加到字典dict
dict.values() 返回一個包含字典中所有值的列表

集合

集合(set)是一組無須排列的可哈希值,其值可以做字典中的鍵。集合(sets)本身有兩種類型,可變集合(set)和不可變集合(frozenset),創建使用set()或frozenset。集合支持(in, not in,==,!=,>,>=,<,<=,|,&,-,^,|=,&=,-=,^=),加號不是集合類型的運算符,對于混合類型操作,如果左右兩個操作數的類型相同,既都是可變集合或不可變集合,則產生的結果類型是相同的,如果左右兩個操作數不同,則產生的操作類型與做操作數的類型相同。

>>> s=set('sky')>>> s{'k', 's', 'y'}>>> v=frozenset('blue')>>> vfrozenset({'b', 'u', 'e', 'l'})>>> type(s)<class 'set'>>>> type(v)<class 'frozenset'>>>> len(v)4>>> s=set('sskkyy')>>> s{'k', 's', 'y'}>>> len(s)3>>> 'k' in sTrue>>> s.add('E')>>> s{'k', 's', 'y', 'E'}>>> v.add('A')Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'frozenset' object has no attribute 'add'>>> s.update('sk')>>> s{'k', 's', 'y', 'E'}>>> s.update('skw')>>> s{'s', 'E', 'w', 'k', 'y'}>>> s.remove('w')>>> s{'s', 'E', 'k', 'y'}>>> s-=set('ky')>>> s{'s', 'E'}>>> del s>>> sTraceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 's' is not defined
集合類型操作符,函數和方法
函數/方法名 等價運算符 說明
len(s) 集合s中元素的個數
set([obj]) obj必須是支持迭代的,由obj中的元素創建集合,否則創建一個空集合
forzenset([obj]) 與set方法相同,返回不可變集合
s.issubset(t) s<=t s中所有的元素都是t的成員
s.issupperset(t) s>=t t中所有的元素都是s的成員
s.union(t) s|t s或t中的元素
s.intersection(s) s&t s和t中的元素
s.difference(t) s-t s中的元素,而不是t中的元素
s.symmetric_difference(t) s^t s或t中的元素,但不是s和t共有的元素
s.copy() 返回s的(淺復制)副本
s.update(t) s|=t 將t中的成員添加s
s.intersection_update(t) s&=t s中僅包括s和t中共有的成員
s.difference_update(t) s-=t s中包括僅屬于s但不屬于t的成員
s.symmetric_difference_update(t) s^=t s中包括僅屬于s或僅屬于t的成員
s.add(obj) 將obj添加到s
s.remove(obj) 將obj從s中刪除,如果s中不存在obj將引發KeyError
s.discard(obj) 如果s中存在obj,從s中刪除它,不存在obj不會引發異常
s.pop() 移除并返回s中的任意一個元素
s.clear() 移除s中的所有元素

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桓台县| 文山县| 旬邑县| 江都市| 类乌齐县| 岑巩县| 揭西县| 清丰县| 富裕县| 中超| 安庆市| 禹城市| 齐河县| 开平市| 华坪县| 舞钢市| 保定市| 曲靖市| 安徽省| 雷波县| 鹿邑县| 玉环县| 江源县| 九龙县| 黄骅市| 上犹县| 金溪县| 顺昌县| 曲阜市| 山丹县| 昌平区| 永和县| 青河县| 井陉县| 永川市| 临颍县| 洪江市| 策勒县| 高清| 城步| 永州市|