我有兩個字典:
x= {'албански': 'Albanian', 'елзаски': 'Alsatian', 'арагонски': 'Aragonese',
'арберешки': 'Arberesh'}
y={'елзаски': 477, 'арагонски': 0, 'арберешки': 1,'албански': 1}
兩個字典都包含相同數量的 key_value 對。在字典 x 中,鍵是語言名稱的保加利亞語翻譯,值是英語中相同語言的名稱。
在字典 y 中,鍵是保加利亞語的語言名稱,值是它們的頻率計數。
Dic x 中存在的所有語言都存在于 dic y 中,但它們的順序不同。
我需要做的是回傳英語語言的名稱及其相應的計數。為此,我首先需要在 dic y 中搜索 dic x 中的鍵,當它們匹配時回傳 x 中的值和 y 中的值。這個怎么做?
我嘗試了以下代碼,但不起作用,即使它起作用了,我想我也不會得到我需要的東西。
x=dict(zip(lang_lists['languages_bulgarian'],lang_lists['languages_english']))
y=dict(zip(lang_lists['report_lang_list'], lang_lists['counts']))
for i in x:
for j in y:
if j == y:
print(x[i], y[j])
else:
pass
我的想法是搜索兩個字典之間的對應鍵,當它們匹配時回傳一個字典的值(英語語言)和另一個字典中的值(頻率計數)。我想要的輸出是這樣的:
{Albanian: 1, Aragonese: 0, Arberesh: 1, Alsatian: 477}
uj5u.com熱心網友回復:
使用 dict 理解
x = {'албански': 'Albanian', 'елзаски': 'Alsatian', 'арагонски': 'Aragonese',
'арберешки': 'Arberesh'}
y = {'елзаски': 477, 'арагонски': 0, 'арберешки': 1,'албански': 1}
result = {value:y.get(key) for key, value in x.items()}
print(result)
輸出
{'Albanian': 1, 'Alsatian': 477, 'Aragonese': 0, 'Arberesh': 1}
uj5u.com熱心網友回復:
雖然 dict comprehension buran 的答案很簡潔,但這里的關鍵是您可以遍歷字典。
以“自然”的方式,您可以在這樣的回圈中獲取密鑰:
x = {'албански': 'Albanian', 'елзаски': 'Alsatian', 'арагонски': 'Aragonese',
'арберешки': 'Arberesh'}
y = {'елзаски': 477, 'арагонски': 0, 'арберешки': 1,'албански': 1}
z = {}
for key in x:
z[x[key]] = y[key]
print(z)
也可以直接獲取鍵值對,使用items():
for key,value in x.items():
z[value] = y[key]
uj5u.com熱心網友回復:
您可以使用 for 回圈遍歷兩個專案,而不是使用嵌套回圈,并且 zip 會將值與相同的鍵配對。
x= {'албански': 'Albanian', 'елзаски': 'Alsatian', 'арагонски': 'Aragonese',
'арберешки': 'Arberesh'}
y={'елзаски': 477, 'арагонски': 0, 'арберешки': 1,'албански': 1}
temp = dict()
for (key1, value1), (key2,value2) in zip(x.items(), y.items()):
temp[value1] = y[key1] # Add this
print temp
輸出:
{'Albanian': 1, 'Alsatian': 477, 'Aragonese': 0, 'Arberesh': 1}
編輯:
這是最簡單的方法:
x= {'албански': 'Albanian', 'елзаски': 'Alsatian', 'арагонски': 'Aragonese',
'арберешки': 'Arberesh'}
y={'елзаски': 477, 'арагонски': 0, 'арберешки': 1,'албански': 1}
temp = dict()
for (key, value) in x.items():
temp[value] = y[key]
print(temp)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444687.html
上一篇:從元組創建字典
下一篇:在字典中查找特定值的對應鍵
