繁体   English   中英

python中元组的键值对

[英]key value pairs from tuple in python

如何动态地将元组转换为键值对?

比方说我有:

tuple = ('name1','value1','name2','value2','name3','value3')

我想把它放入字典:

dictionary = { name1 : value1, name2 : value2, name3 : value3 )

将元组转换为键值对,让dict构造函数构建一个字典:

it = iter(tuple_)
dictionary = dict(zip(it, it))

zip(it, it)成语从其他平面迭代中生成一对项,提供可以传递给dict构造函数的一对对。 对此的推广可以作为itertools文档中的分组器配方

如果输入足够大,请用itertools.izip替换zip以避免分配临时列表。 与基于映射t[i][i + 1]表达式不同,上述内容将适用于任何可迭代的,而不仅仅是序列。

dictionary = {tuple[i]: tuple[i + 1] for i in range(0, len(tuple), 2)}

另一个简单方法:

dictionary = dict(zip(tuple[::2],tuple[1::2]))

只做一个简单的循环。

my_dic = {}
tuple = ('name1','value1','name2','value2','name3','value3')
if len(tuple) % 2 == 1:
    my_dic[tuple[-1]] = None
for i in range(0, len(tuple) - 1, 2):
    my_dic[tuple[i]] = tuple[i + 1]
print my_dic
tuple = ('name1','value1','name2','value2','name3','value3')
d = {}
for i in range(0, len(tuple), 2):
    d[tuple[i]] = tuple[i+1]
print d

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM