欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python字典及字典基本操作方法詳解

 更新時間:2018年01月30日 10:34:41   作者:m0_37870649  
這篇文章主要介紹了Python字典及字典基本操作方法,結合實例形式詳細分析了Python字典的概念、創(chuàng)建、格式化及常用操作方法與相關注意事項,需要的朋友可以參考下

本文實例講述了Python字典及字典基本操作方法。分享給大家供大家參考,具體如下:

字典是一種通過名字或者關鍵字引用的得數據結構,其鍵可以是數字、字符串、元組,這種結構類型也稱之為映射。字典類型是Python中唯一內建的映射類型,基本的操作包括如下:

(1)len():返回字典中鍵—值對的數量;
(2)d[k]:返回關鍵字對于的值;
(3)d[k]=v:將值關聯(lián)到鍵值k上;
(4)del d[k]:刪除鍵值為k的項;
(5)key in d:鍵值key是否在d中,是返回True,否則返回False。

一、字典的創(chuàng)建

1.1 直接創(chuàng)建字典

d={'one':1,'two':2,'three':3}
print d
print d['two']
print d['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
2
3
>>>

1.2 通過dict創(chuàng)建字典

# _*_ coding:utf-8 _*_
items=[('one',1),('two',2),('three',3),('four',4)]
print u'items中的內容:'
print items
print u'利用dict創(chuàng)建字典,輸出字典內容:'
d=dict(items)
print d
print u'查詢字典中的內容:'
print d['one']
print d['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
items中的內容:
[('one', 1), ('two', 2), ('three', 3), ('four', 4)]
利用dict創(chuàng)建字典,輸出字典內容:
{'four': 4, 'three': 3, 'two': 2, 'one': 1}
查詢字典中的內容:
1
3
>>>

或者通過關鍵字創(chuàng)建字典

# _*_ coding:utf-8 _*_
d=dict(one=1,two=2,three=3)
print u'輸出字典內容:'
print d
print u'查詢字典中的內容:'
print d['one']
print d['three']

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出字典內容:
{'three': 3, 'two': 2, 'one': 1}
查詢字典中的內容:
1
3
>>>

二、字典的格式化字符串

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
print d
print "three is %(three)s." %d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four': 4, 'three': 3, 'two': 2, 'one': 1}
three is 3.
>>>

三、字典方法

3.1 clear函數:清除字典中的所有項

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3,'four':4}
print d
d.clear()
print d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'four': 4, 'three': 3, 'two': 2, 'one': 1}
{}
>>>

請看下面兩個例子

3.1.1

# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
print dd
d={}
print d
print dd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two': 2, 'one': 1}
{}
{'two': 2, 'one': 1}
>>>

3.1.2

# _*_ coding:utf-8 _*_
d={}
dd=d
d['one']=1
d['two']=2
print dd
d.clear()
print d
print dd

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'two': 2, 'one': 1}
{}
{}
>>>

3.1.2與3.1.1唯一不同的是在對字典d的清空處理上,3.1.1將d關聯(lián)到一個新的空字典上,這種方式對字典dd是沒有影響的,所以在字典d被置空后,字典dd里面的值仍舊沒有變化。但是在3.1.2中clear方法清空字典d中的內容,clear是一個原地操作的方法,使得d中的內容全部被置空,這樣dd所指向的空間也被置空

3.2 copy函數:返回一個具有相同鍵值的新字典

# _*_ coding:utf-8 _*_
x={'one':1,'two':2,'three':3,'test':['a','b','c']}
print u'初始X字典:'
print x
print u'X復制到Y:'
y=x.copy()
print u'Y字典:'
print y
y['three']=33
print u'修改Y中的值,觀察輸出:'
print y
print x
print u'刪除Y中的值,觀察輸出'
y['test'].remove('c')
print y
print x

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
初始X字典:
{'test': ['a', 'b', 'c'], 'three': 3, 'two': 2, 'one': 1}
X復制到Y:
Y字典:
{'test': ['a', 'b', 'c'], 'one': 1, 'three': 3, 'two': 2}
修改Y中的值,觀察輸出:
{'test': ['a', 'b', 'c'], 'one': 1, 'three': 33, 'two': 2}
{'test': ['a', 'b', 'c'], 'three': 3, 'two': 2, 'one': 1}
刪除Y中的值,觀察輸出
{'test': ['a', 'b'], 'one': 1, 'three': 33, 'two': 2}
{'test': ['a', 'b'], 'three': 3, 'two': 2, 'one': 1}
>>>

注:在復制的副本中對值進行替換后,對原來的字典不產生影響,但是如果修改了副本,原始的字典也會被修改。deepcopy函數使用深復制,復制其包含所有的值,這個方法可以解決由于副本修改而使原始字典也變化的問題。

# _*_ coding:utf-8 _*_
from copy import deepcopy
x={}
x['test']=['a','b','c','d']
y=x.copy()
z=deepcopy(x)
print u'輸出:'
print y
print z
print u'修改后輸出:'
x['test'].append('e')
print y
print z

運算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
輸出:
{'test': ['a', 'b', 'c', 'd']}
{'test': ['a', 'b', 'c', 'd']}
修改后輸出:
{'test': ['a', 'b', 'c', 'd', 'e']}
{'test': ['a', 'b', 'c', 'd']}
>>>

3.3 fromkeys函數:使用給定的鍵建立新的字典,鍵默認對應的值為None

# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'])
print d

運算輸出:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': None, 'two': None, 'one': None}
>>>

或者指定默認的對應值

# _*_ coding:utf-8 _*_
d=dict.fromkeys(['one','two','three'],'unknow')
print d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 'unknow', 'two': 'unknow', 'one': 'unknow'}
>>>

3.4 get函數:訪問字典成員

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
print d.get('one')
print d.get('four')

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
1
None
>>>

注:get函數可以訪問字典中不存在的鍵,當該鍵不存在是返回None

3.5 has_key函數:檢查字典中是否含有給出的鍵

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
print d.has_key('one')
print d.has_key('four')

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
True
False
>>>

3.6 items和iteritems函數:items將所有的字典項以列表方式返回,列表中項來自(鍵,值),iteritems與items作用相似,但是返回的是一個迭代器對象而不是列表

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
list=d.items()
for key,value in list:
  print key,':',value

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
three : 3
two : 2
one : 1
>>>

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
it=d.iteritems()
for k,v in it:
  print "d[%s]="%k,v

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
d[three]= 3
d[two]= 2
d[one]= 1
>>>

3.7 keys和iterkeys:keys將字典中的鍵以列表形式返回,iterkeys返回鍵的迭代器

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
print u'keys方法:'
list=d.keys()
print list
print u'\niterkeys方法:'
it=d.iterkeys()
for x in it:
  print x

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
keys方法:
['three', 'two', 'one']
iterkeys方法:
three
two
one
>>>

3.8 pop函數:刪除字典中對應的鍵

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
d.pop('one')
print d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
{'three': 3, 'two': 2}
>>>

3.9 popitem函數:移出字典中的項

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
d.popitem()
print d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 1}
{'two': 2, 'one': 1}
>>>

3.10 setdefault函數:類似于get方法,獲取與給定鍵相關聯(lián)的值,也可以在字典中不包含給定鍵的情況下設定相應的鍵值

# _*_ coding:utf-8 _*_
d={'one':1,'two':2,'three':3}
print d
print d.setdefault('one',1)
print d.setdefault('four',4)
print d

運算結果:

{'three': 3, 'two': 2, 'one': 1}
1
4
{'four': 4, 'three': 3, 'two': 2, 'one': 1}
>>>

3.11 update函數:用一個字典更新另外一個字典

# _*_ coding:utf-8 _*_
d={
  'one':123,
  'two':2,
  'three':3
  }
print d
x={'one':1}
d.update(x)
print d

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
{'three': 3, 'two': 2, 'one': 123}
{'three': 3, 'two': 2, 'one': 1}
>>>

3.12 values和itervalues函數:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重復的元素

# _*_ coding:utf-8 _*_
d={
  'one':123,
  'two':2,
  'three':3,
  'test':2
  }
print d.values()

運算結果:

=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
[2, 3, 2, 123]
>>>

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • python  dataprep庫簡化加速數據科學操作

    python  dataprep庫簡化加速數據科學操作

    這篇文章主要為大家介紹了python  dataprep庫簡化加速數據科學操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Python中TypeError: unhashable type: ‘list‘錯誤的解決方法

    Python中TypeError: unhashable type: ‘list‘錯誤的解

    在Python編程的領域中,數據類型的正確使用是確保程序正常運行的關鍵要素之一,然而,開發(fā)者們常常會遇到一些由于數據類型使用不當而引發(fā)的報錯,其中TypeError: unhashable type: 'list’就是一個比較典型的錯誤,那么,讓我們深入探究這個報錯問題,為大家提供全面的解決方案
    2024-10-10
  • pycharm中顯示CSS提示的知識點總結

    pycharm中顯示CSS提示的知識點總結

    在本篇文章里小編給大家整理了關于pycharm中顯示CSS提示的知識點內容,需要的朋友們可以參考學習下。
    2019-07-07
  • Python中有幾個關鍵字

    Python中有幾個關鍵字

    在本篇文章里小編給大家分享的是一篇關于Python中關鍵字個數的相關知識點內容,需要的朋友們可以學習下。
    2020-06-06
  • 解決nohup重定向python輸出到文件不成功的問題

    解決nohup重定向python輸出到文件不成功的問題

    今天小編就為大家分享一篇解決nohup重定向python輸出到文件不成功的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python實現(xiàn)多線程端口掃描

    python實現(xiàn)多線程端口掃描

    這篇文章主要為大家詳細介紹了python實現(xiàn)多線程端口掃描,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python中的eval函數使用實例

    python中的eval函數使用實例

    eval() 函數用來執(zhí)行一個字符串表達式,并返回表達式的值,這篇文章主要介紹了python中的eval函數,需要的朋友可以參考下
    2022-11-11
  • Python多路復用selector模塊的基本使用

    Python多路復用selector模塊的基本使用

    Python提供了selector模塊來實現(xiàn)IO多路復用,這篇文章給大家介紹了Python多路復用selector模塊的基本使用,感興趣的朋友一起看看吧
    2021-11-11
  • Python實現(xiàn)的矩陣轉置與矩陣相乘運算示例

    Python實現(xiàn)的矩陣轉置與矩陣相乘運算示例

    這篇文章主要介紹了Python實現(xiàn)的矩陣轉置與矩陣相乘運算,結合實例形式分析了Python針對矩陣進行轉置與相乘運算的相關實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2019-03-03
  • 使用Python+selenium實現(xiàn)第一個自動化測試腳本

    使用Python+selenium實現(xiàn)第一個自動化測試腳本

    這篇文章主要介紹了使用Python+selenium實現(xiàn)第一個自動化測試腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03

最新評論