簡體   English   中英

將元組轉換為 dict 並選擇 dict 鍵名

[英]Convert tuple into dict and choose dict key names

我有以下元組: (1234234, 23, 0)

我想把它變成以下形式的字典:

{
  app: 1234234,
  sdk: 23,
  done: 0,
}

怎樣才能做到這一點?

更新:這個問題與這個問題不同,因為它並不意味着它只能通過使用兩個元組來解決。

類似下面的東西

values = (1234234, 23, 0)
keys = ['app', 'sdk', 'done']
d = {k: values[idx] for idx, k in enumerate(keys)}
print(d)

output

{'app': 1234234, 'sdk': 23, 'done': 0}

@balderman 的另一種方法:

values = (1234234, 23, 0)
keys = ['app', 'sdk', 'done']
d = dict(zip(keys, values))
t = (1234234, 23, 0)
keys = ["app", "sdk", "done"]
d = {}

for num in t:
    key = keys[t.index(num)]
    d[key] = num

此代碼將遍歷元組中的數字並將鍵分配給字典中的數字。

a)如果您想手動選擇鍵(用戶通過 shell 輸入),您可以執行以下操作:

values = (1234234, 23, 0)
yourdict = {input(f"insert key fot value {value}: "): value for value in values}

output:

>>> insert a key for value 1234234: value1
>>> insert a key for value 23: value2
>>> insert a key for value 0: value3

{"value1": 1234234, "value2": 23, "value3": 0}

b)如果您想從鍵列表中自動執行此操作:

values = (1234234, 23, 0)
keys = ["key1", "key2", "key3"]
yourdict = {keys[count]: value for count, value in enumerate(values)}

output:

{"key1": 1234234, "key2": 23, "key3": 0}

c)如果您想以數字方式分配它們:

values = (1234234, 23, 0)
yourdict = {count: value for count, value in enumerate(values)}

output:

{0: 1234234, 1: 23, 2: 0}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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