導航:首頁 > 編程語言 > python遍歷多個字典

python遍歷多個字典

發布時間:2022-10-01 02:20:10

python中怎麼遍歷字典列表

for key in e:
for value in e[key]:
print value
Python(英語發音:/ˈpaɪθən/), 是一種面向對象、解釋型計算機程序設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。
Python是純粹的自由軟體, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協議 。
Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。

❷ Python中字典創建、遍歷、添加等實用操作技巧合集

欄位是Python是字典中唯一的鍵-值類型,是Python中非常重要的數據結構,因其用哈希的方式存儲數據,其復雜度為O(1),速度非常快。下面列出字典的常用的用途.
一、字典中常見方法列表
代碼如下:
#方法
#描述
-------------------------------------------------------------------------------------------------
D.clear()
#移除D中的所有項
D.()
#返回D的副本
D.fromkeys(seq[,val])
#返回從seq中獲得的鍵和被設置為val的值的字典。可做類方法調用
D.get(key[,default])
#如果D[key]存在,將其返回;否則返回給定的默認值None
D.has_key(key)
#檢查D是否有給定鍵key
D.items()
#返回表示D項的(鍵,值)對列表
D.iteritems()
#從D.items()返回的(鍵,值)對中返回一個可迭代的對象
D.iterkeys()
#從D的鍵中返回一個可迭代對象
D.itervalues()
#從D的值中返回一個可迭代對象
D.keys()
#返回D鍵的列表
D.pop(key[,d])
#移除並且返回對應給定鍵key或給定的默認值D的值
D.popitem()
#從D中移除任意一項,並將其作為(鍵,值)對返回
D.setdefault(key[,default])
#如果D[key]存在則將其返回;否則返回默認值None
D.update(other)
#將other中的每一項加入到D中。
D.values()
#返回D中值的列表
二、創建字典的五種方法
方法一:
常規方法
代碼如下:
#
如果事先能拼出整個字典,則此方法比較方便
>>>
D1
=
{'name':'Bob','age':40}
方法二:
動態創建

代碼如下:
#
如果需要動態地建立字典的一個欄位,則此方法比較方便
>>>
D2
=
{}
>>>
D2['name']
=
'Bob'
>>>
D2['age']
=
40
>>>
D2
{'age':
40,
'name':
'Bob'}
方法三:
dict--關鍵字形式
代碼如下:
#
代碼比較少,但鍵必須為字元串型。常用於函數賦值
>>>
D3
=
dict(name='Bob',age=45)
>>>
D3
{'age':
45,
'name':
'Bob'}
方法四:
dict--鍵值序列
代碼如下:
#
如果需要將鍵值逐步建成序列,則此方式比較有用,常與zip函數一起使用
>>>
D4
=
dict([('name','Bob'),('age',40)])
>>>
D4
{'age':
40,
'name':
'Bob'}

代碼如下:
>>>
D
=
dict(zip(('name','bob'),('age',40)))
>>>
D
{'bob':
40,
'name':
'age'}
方法五:
dict--fromkeys方法#
如果鍵的值都相同的話,用這種方式比較好,並可以用fromkeys來初始化

代碼如下:
>>>
D5
=
dict.fromkeys(['A','B'],0)
>>>
D5
{'A':
0,
'B':
0}
如果鍵的值沒提供的話,默認為None
代碼如下:
>>>
D3
=
dict.fromkeys(['A','B'])
>>>
D3
{'A':
None,
'B':
None}
三、字典中鍵值遍歷方法

代碼如下:
>>>
D
=
{'x':1,
'y':2,
'z':3}
#
方法一
>>>
for
key
in
D:
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
key,
value
in
D.items():
#
方法二
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
>>>
for
key
in
D.iterkeys():
#
方法三
print
key,
'=>',
D[key]
y
=>
2
x
=>
1
z
=>
3
>>>
for
value
in
D.values():
#
方法四
print
value
2
1
3
>>>
for
key,
value
in
D.iteritems():
#
方法五
print
key,
'=>',
value
y
=>
2
x
=>
1
z
=>
3
Note:用D.iteritems(),
D.iterkeys()的方法要比沒有iter的快的多。
四、字典的常用用途之一代替switch
在C/C++/Java語言中,有個很方便的函數switch,比如:
代碼如下:
public
class
test
{
public
static
void
main(String[]
args)
{
String
s
=
"C";
switch
(s){
case
"A":
System.out.println("A");
break;
case
"B":
System.out.println("B");
break;
case
"C":
System.out.println("C");
break;
default:
System.out.println("D");
}
}
}
在Python中要實現同樣的功能,
方法一,就是用if,
else語句來實現,比如:

代碼如下:
from
__future__
import
division
def
add(x,
y):
return
x
+
y
def
sub(x,
y):
return
x
-
y
def
mul(x,
y):
return
x
*
y
def
div(x,
y):
return
x
/
y
def
operator(x,
y,
sep='+'):
if
sep
==
'+':
print
add(x,
y)
elif
sep
==
'-':
print
sub(x,
y)
elif
sep
==
'*':
print
mul(x,
y)
elif
sep
==
'/':
print
div(x,
y)
else:
print
'Something
Wrong'
print
__name__
if
__name__
==
'__main__':
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
s
=
raw_input("Enter
operation
here(+
-
*
/):
")
operator(x,
y,
s)
方法二,用字典來巧妙實現同樣的switch的功能,比如:

代碼如下:
#coding=gbk
from
__future__
import
division
x
=
int(raw_input("Enter
the
1st
number:
"))
y
=
int(raw_input("Enter
the
2nd
number:
"))
def
operator(o):
dict_oper
=
{
'+':
lambda
x,
y:
x
+
y,
'-':
lambda
x,
y:
x
-
y,
'*':
lambda
x,
y:
x
*
y,
'/':
lambda
x,
y:
x
/
y}
return
dict_oper.get(o)(x,
y)
if
__name__
==
'__main__':
o
=
raw_input("Enter
operation
here(+
-
*
/):
")
print
operator(o)

❸ python字典遍歷的問題

就用你上面的方法做吧...
對於你說的 t.get(itemid).items()
因為itemid本身就是變數,除非明確itemid的值,否則t.get(itemid)怎麼能確定就是字典呢?
t.get('1')是'dict'沒錯,t.get('100')確實是'NoneType'(因為t裡面沒有'100'這個key)

所以系統在不明確itemid的時候 t.get(itemid)就是是'NoneType',
所以會有'NoneType' object has no attribute 'items'的錯誤。

祝你成功!

❹ 軟體測試中,python字典遍歷的幾種方法

在python2.2之前,還只能用beys等字典方法來獲取鍵(因為不允許直接迭代字典)。
如果只需要值,可以使用d.values代替d.keys。

❺ Python列表嵌套多個字典,循環讀取字典「名稱」,並輸出

cloris={'Owner':'jack','kind':'dog'}
brinkley={'Owner':'tom','kind':'cat'}
pets=['cloris','brinkley']
foriinpets:
print('%s:'%i)
print('Owner:%s,kind:%s'%(eval(i)['Owner'],eval(i)['kind']))

驀然回首···還是這個好看

❻ python 同時遍歷數組和字典的方法

我用的是3.3.直接在Shell一個一個打,很簡單呀,你沒多動手親。。
d1=dict()
>>> d2=dict()
>>> d1['key1']=1
>>> d2['key2']=2
>>> list1=[]
>>> list1.append(d1)
>>> list1.append(d2)
>>> list1
[{'key1': 1}, {'key2': 2}]
>>> list1[1].keys()
dict_keys(['key2'])
>>> list1[0].values()
dict_values([1])
>>>

❼ python如何遍歷多鍵值的字典並使用對應鍵的值來替換

dict = {('絲印兩處', '絲印二處', '絲印兩道', '絲印二道', '絲印2道'): '絲印2處', ('絲印三處', '絲印三道', '絲印3道'): '絲印3處'}
ss = ["黑色MI0000C-BK002 含三道絲印", "黑色MI0000C-BK002 含絲印三道", "黑色MI0000C-BK002 含3道絲印"]
for s in ss:
for k, v in dict.items():
for src in k:
s = s.replace(src, v)
print(s)

注意:你的dict不足以涵蓋你的輸入,所以只有中間那句是替換了

❽ python循環遍歷字典元素問題求指教

你的x,y是代表的未知元素吧,不然a就只有{('x','y'):(0,0)}這一個元素了。下面說問題:

對於字典的key值遍歷可以用items()函數來實現,比如下面的代碼:

a={('a','b'):(0,0),('c','d'):(1,1),('e','f'):(2,2)}
fori,jina.items():
print(i,':',j)

輸出的結果是:

('c', 'd') : (1, 1)

('e', 'f') : (2, 2)

('a', 'b') : (0, 0)

也就是說對for i,j in a.items()這句話,i得到是字典的key值,j得到的是字典的value,如果想只遍歷字典的key值,也就是你要的('x','y'),那麼把print(i,' : ',j)改成print(i)就可以了(具體輸出格式你自己定製就好,不一定按我的)

❾ python 怎樣同時遍歷兩個字典

這個問題問的好!
如果長度相同的dict直接用zip函數即可同時for
如果長度不同,可以先把這兩個dict整合進一個list再for

閱讀全文

與python遍歷多個字典相關的資料

熱點內容
主管開除女程序員 瀏覽:712
雲伺服器轉售 瀏覽:540
壓縮空氣漏氣量怎樣計算 瀏覽:101
手機app是怎麼跳轉的 瀏覽:664
學編程的重要性 瀏覽:24
程序員去按摩 瀏覽:739
奧迪手機控車app怎麼添加愛車 瀏覽:4
收磚機石獅編程培訓廠家 瀏覽:761
吉里吉里2安卓模擬器怎麼用 瀏覽:818
編譯器將匯編代碼 瀏覽:681
電路板加密錯誤 瀏覽:21
java自動機 瀏覽:363
相機連拍解壓 瀏覽:31
linuxssh服務重啟命令 瀏覽:330
茂名氫氣隔膜壓縮機 瀏覽:47
程序員地鐵寫程序 瀏覽:330
java的switchenum 瀏覽:329
pdf瓷器 瀏覽:905
怎樣用adb命令刷機 瀏覽:962
蘋果手機怎麼買app 瀏覽:303