元組,列表,字典,集合的區別
定義
|
方法
|
|
列表
|
可以包含不同類型的對象,可以增減元素,可以跟其他的列表結合或者把一個列表拆分,用[]來定義的 eg:aList=[123,'abc',4.56,['inner','list'],7-9j]
|
1.list(str):將str轉換成list類型,str可以使字符串也可以是元組類型 2.aList.append('test'):追加元素到列表中去
3.del aList[1]:刪除列表中下標為1的元素 del aList:刪除整個列表 4.cmp(list1,list2):比較兩個列表的大小
5.len(list):返回列表元素個數
6.sorted(list):使用字典序對列表中元素進行排序
7.reversed(list):倒置列表中的元素位置
8.list.count(obj):返回對象obj在list中出現的次數 9.list.extend(seq):把序列seq的內容添加到list中10.list.insert(index,obj):在索引量為index的地方插入obj對象 11.list.pop(index=-1):刪除並返回指定位置的對象,默認是最后一個對象
12.list.remove(obj):從list中刪除obj對象
|
元組
|
可以包含不同類型的對象,但是是不可變的,不可以在增減元素,用()來定義 eg:aTuple=(123,'abc',4.56,['inner','list'],7-9j)
|
1.tuple(obj):將對象obj轉換成tuple對象,obj可以是任意字符串或者列表 2.適用於列表的del,cmp,len,max,min方法也適用於tuple,但是由於元祖是不可變的,替換、添加、排序等不可實現
|
字典
|
鍵值對,用{}來定義 eg:aDict={'name':'cynthia','age':18}
|
1.dict1=dict((['x',1],['y',2])):dict()創建字典
2.dict1={}.fromkeys(('x','y'),-1):fromkeys()創建一個默認字典,字典中元素具有相同的值
3.dict1.keys():獲取字典的鍵值列表
4.dict1.has_key('x'):判斷字典中是否有‘x'鍵值,返回bool型 5.dict.get(key,default):返回鍵值key的值,若是key不存在,返回default的值
6.dict.items():返回鍵值對列表值
7.dict.values():返回字典中所有值的列表
8.dict.update(dict2):將dict2的鍵值對列表添加到字典dict中去 9.dict.pop(key):返回鍵值key的value
10.setdefault():類似get方法,能夠獲得給定key的value,此外setdefault還能在自動重不含有給定key的情況下設定相應的key-value
11.clear():清除字典中所有的項。原地操作,無返回(或說返回值為None)
12.copy():返回具有相同key-value的新字典,為淺復制(shallow copy)
|
集合
|
set() 可變集合
frozenset() 不可變集合
|
方法(所有的集合方法):
s.issubset(t) 如果s是t的子集,返回True,否則返回False
s.issuperset(t) 如果s是t的超集,返回True,否則返回False
s.union(t) 返回一個新集合, 該集合是s和t的並集
s.intersection(t) 返回一個新集合, 該集合是s和t的交集
s.difference(t) 返回一個新集合, 該集合是s的成員, 但不是t的成員, 即返回s不同於t的元素
s.symmetric_defference(t) 返回所有s和t獨有的(非共同擁有)元素集合
s.copy() 返回一個s的淺拷貝, 效率比工廠要好
方法(僅適用於可變集合):以下方法參數必須是可哈希的
s.update(t):用t中的元素修改s,即s現在包含s或t的成員
s.intersection_update(t):s中的成員是共同屬於s和t的元素
s.difference_update(t):s中的成員是屬於s但不包含在t中的元素
s.symmetric_difference_update(t):s中的成員更新為那些包含在s或t中,但不是s和t共有的元素
s.add(obj):在集合s中添加對象obj
s.remove(obj):從集合s中刪除對象obj,如果obj不是集合s中的元素(obj not in s),將引發keyError錯誤
s.discard(obj):如果obj是集合s中的元素,從集合s中刪除對象obj
s.pop():刪除集合s中得任意一個對象,並返回它
s.clear():刪除集合s中的所有元素
|