其他關于Python的總結文章請訪問:http://www.itdecent.cn/nb/47435944
Python中的list、tuple、dict和set
List
list是一種有序集合,可以隨時添加或者刪除其中的元素,使用中括號中的逗號隔開的元素表示,list中的元素數(shù)據(jù)類型可以不同,甚至是另外一個list
- 使用
ListName后跟[n]的索引訪問,索引從0開始表示第一個元素,-1表示倒數(shù)第一個元素,-2表示導數(shù)第二個元素 -
len(listName)返回list中的元素個數(shù) -
listName.append(newElement)向list中新增元素到list的末尾 -
listName.insert(n,newElement)向list中新增元素到list的第n-1位,即n所在索引處 -
listName.pop(n)從list中刪除索引為n的元素并返回,傳入空參數(shù)則刪除list末尾元素
Tuple
tuple是不可變的list,一經(jīng)初始化不能再改變,只能訪問,使用小括號中的逗號隔開的元素表示
- 定義空tuple可以寫成
t=() - 定義包含1個元素的tuple需要寫成
t=(elememt,),從而和單獨的element分開
Dict
字典,全稱dictionary,同其他語言中的map,是鍵值對的形式存儲信息的。使用大括號中的逗號隔開的鍵值對表示,鍵值對寫成 'key':value 的形式,key是不能重復的。
- 使用
dictName['key']訪問該鍵對應的值 - 使用
dictName['key']=value的方式為鍵為key的位置賦值,如果沒有該鍵就新增鍵值對 - 使用
'key' in dictName判斷key是否在dictName中 - 使用
get()方法判斷-
dictName.get('key')如果有key則返回該值,否則返回None -
dictName.get('key',givenValue)如果有key則返回該值,否則返回givenValue
-
- 使用
dictName.pop('key')刪除key與去對應的值
Dict與List的比較
- Dict的特點
- 查找和插入的速度極快,不會隨著key的增加而變慢
- 需要占用大量的內(nèi)存,內(nèi)存浪費多
- List的特點
- 查找和插入的時間隨著元素的增加而增加
- 占用空間小,浪費內(nèi)存很少
Dict是用空間來換取時間的一種方法,基于哈希算法
Set
set存放的是一組不重復的無序元素,創(chuàng)建set時需要傳入一個list,set會自動過濾list中的重復元素
s=set([1,2,2,3,3,3])
# s={1,2,3}
- 使用
setName.add(element),可以增添新的元素 - 使用
setName.remove(element),可以刪除該元素
set可以看成數(shù)學意義上的無序無重復元素的集合,因此可以做交集 & 、并集 | 等運算
s1=set([1,2,3])
s2=set([2,3,4])
s1 & s2
# {2,3}
s1 | s2
# {1,2,3,4}