簡體   English   中英

怎么加入列表元組和字典成為一個字典?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM