[英]how join list tuple and dict into a dict?
怎么加入列表元組和字典成為一個字典?
['f','b','c','d'] (1,2,3) and {'a':'10'}
d excluded for list be compatible with the tuple
output {'f':'1','b':'2','c':'3','a':'10'}
你可以用鍵和值來制作一個dict
:
keys = ['a','b','c','d']
values = (1,2,3)
result = dict(zip(keys, values)) # {'a': 1, 'c': 3, 'b': 2}
然后你可以用另一個詞典來更新它
result.update({ 'f' : 5 })
print result # {'a': 1, 'c': 3, 'b': 2, 'f': 5}
dict(zip(a_list, a_tuple)).update(a_dictionary)
當a_list是你的列表時,a_tuple是你的元組,a_dictionary是你的字典。
編輯:如果你真的想把你的元組中的數字變成字符串,而不是先做:
new_tuple = tuple((str(i) for i in a_tuple))
並將new_tuple傳遞給zip函數。
這將完成您問題的第一部分:
dict(zip(['a','b','c','d'], (1,2,3)))
但是,問題的第二部分需要第二個定義'a',字典類型不允許。 但是,您始終可以手動設置其他鍵:
>>> d = {}
>>> d['e'] = 10
>>> d
{'e':10}
字典中的鍵必須是唯一的,所以這部分: {'a':'1','a':'10'}
是不可能的。
以下是其余的代碼:
l = ['a','b','c','d']
t = (1,2,3)
d = {}
for key, value in zip(l, t):
d[key] = value
像這樣的東西?
>>> dict({'a':'10'}.items() + (zip(['f','b','c','d'],('1','2','3'))))
{'a': '10', 'c': '3', 'b': '2', 'f': '1'}
由於沒有人給出了將元組項轉換為str的答案
>>> L=['f','b','c','d']
>>> T=(1,2,3)
>>> D={'a':'10'}
>>> dict(zip(L,map(str,T)),**D)
{'a': '10', 'c': '3', 'b': '2', 'f': '1'}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.