Python元组与字典详解
Python 元組
Python的元組與列表類似,不同之處在于元組的元素不能修改。
元組使用小括號,列表使用方括號。
元組創(chuàng)建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。
如下實例:
- 創(chuàng)建空元組
- 元組中只包含一個元素時,需要在元素后面添加逗號
原因:這是因為括號()既可以表示tuple,又可以表示數(shù)學公式中的小括號,這就產(chǎn)生了歧義,因此,Python規(guī)定,這種情況下,按小括號進行計算,計算結果自然是1。所以,只有1個元素的tuple定義時必須加一個逗號,,來消除歧義。
- 元組與字符串,列表類似,下標索引從0開始,可以進行截取,組合等。在此就不在贅述。
修改元組
元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,如下實例:
tup1 = (12, 34.56) tup2 = ('abc', 'xyz')# 以下修改元組元素操作是非法的。 # tup1[0] = 100# 創(chuàng)建一個新的元組 tup3 = tup1 + tup2 print tup3# (12, 34.56, 'abc', 'xyz')刪除元組
tup = ('abc', [12, 434, 54], 1231 ) print tup del tup print tup # 實例元組被刪除后,輸出變量會有異常信息 # Traceback (most recent call last): # File "<console>", line 1, in <module> # NameError: name 'tup' is not defined元組內(nèi)置函數(shù)
| cmp(tuple1, tuple2) | 比較兩個元組元素。 |
| len(tuple) | 計算元組元素個數(shù)。 |
| max(tuple) | 返回元組中元素最大值。 |
| min(tuple) | 返回元組中元素最小值。 |
| tuple(seq) | 將列表轉(zhuǎn)換為元組 |
元組與列表的區(qū)別
元組是不可變的, 而列表是可變的。
元組通常由不同的數(shù)據(jù),而列表是相同類型的數(shù)據(jù)隊列。元組表示的是結構,而列表表示的是順序。
列表當作字典的key, 而元組可以。
- 元組支持的操作比列表小, 所以元組會比列表稍稍快。
Python 字典(Dictionary)
字典是另一種可變?nèi)萜髂P?#xff0c;且可存儲任意類型對象。類似于java中的map。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:
鍵必須是唯一的,但值則不必。
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。
一個簡單的字典實例:
使用內(nèi)建方法fromkeys()創(chuàng)建’默認‘字典,字典中元素具有相同的value(如果沒有給出,默認為none)
dict={}.fromkeys(('x','y'),12) #dict={'x':-1,'y':-1}訪問字典里的值
- 通過key訪問value
格式
dict[key]
或者
dict.get(key)
把相應的鍵放入熟悉的方括弧,如下實例:
dict={ 1:'a', 2:'b'} dict[1]# 如果用字典里沒有的鍵訪問數(shù)據(jù),會輸出錯誤如下: dict['4'] Traceback (most recent call last):File "<console>", line 1, in <module> KeyError: '4'- 返回字典所有值的列表,dict.values()
訪問字典中的key
返回字典中鍵的列表 * dict.keys()*
dict.has_key(key) 如果鍵在字典dict里返回true,否則返回false,python3中已經(jīng)去掉這個方法了。
訪問鍵值對
遍歷方式
for r in dici #r是dict中的鍵值對
dict.items() 以列表返回可遍歷的(鍵, 值) 元組數(shù)組
修改(更新)或添加
dict[key1]=value1
字典的更新
dict.update(dict2) 將dict2中的值添加到dict中
dict = {"a" : "apple", "b" : "banana"} >>> dict2={'c':"orange"} >>> dict.update(dict2) >>> dict {'a': 'apple', 'b': 'banana', 'c': 'orange'}刪除
按key刪除
del dict[key1]-
刪除并返回
- dict.pop(key1)
刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 - popitem()
隨機返回并刪除字典中的一對鍵和值。
- dict.pop(key1)
-
刪除所有項
- dict.clear()
- del dict
字典常用方法
| cmp(dict1, dict2) | 比較兩個字典元素。 |
| len(dict) | 計算字典元素個數(shù),即鍵的總數(shù)。 |
| str(dict) | 輸出字典可打印的字符串表示。 |
| type(variable) | 返回輸入的變量類型,如果變量是字典就返回字典類型。 |
| dict.clear() | 刪除字典內(nèi)所有元素 |
| dict.copy() | 返回一個字典的淺復制 |
| dict.fromkeys(seq[, val])) | 創(chuàng)建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值 |
| dict.get(key, default=None) | 返回指定鍵的值,如果值不在字典中返回default值 |
| dict.items() | 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 |
| dict.keys() | 以列表返回一個字典所有的鍵 |
| dict.setdefault(key, default=None) | 和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default |
| dict.update(dict2) | 把字典dict2的鍵/值對更新到dict里 |
| dict.values() | 以列表返回字典中的所有值 |
| pop(key[,default]) | 刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
| popitem() | 隨機返回并刪除字典中的一對鍵和值。 |
總結
以上是生活随笔為你收集整理的Python元组与字典详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 99%的数据工作者不曾知道的一款利器
- 下一篇: 解决Windows下栈内存过小的问题