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