1 python dictionary list duplicates
我是编程以及python的新手,我有一个问题,我没有在互联网上找到答案.我想知道你们中的任何一个天才能帮助我.
我有一个字典,在字典中,键是字符串,值是列表.我想知道是否可以翻译这本词典:
dict1 = {'a':(1, 4, 7), 'b':(2, 5, 8), 'c':(3, 6, 9)}
Run Code Online (Sandbox Code Playgroud)
将每个值重复一次为此格式,以便副本位于原始文件旁边:
dict1 = {'a':(1, 1, 4, 4, 7, 7), 'b':(2, 2, 5, 5, 8, 8), 'c':(3, 3, 6, 6, 9, 9)}
Run Code Online (Sandbox Code Playgroud)
您可以使用字典理解:
>>> dict1 = {'a':(1, 4, 7), 'b':(2, 5, 8), 'c':(3, 6, 9)}
>>> {x:tuple(z for z in y for _ in xrange(2)) for x,y in dict1.iteritems()}
{'a': (1, 1, 4, 4, 7, 7), 'c': (3, 3, 6, 6, 9, 9), 'b': (2, 2, 5, 5, 8, 8)}
>>>
Run Code Online (Sandbox Code Playgroud)
但请注意,上面的代码是在Python 2.7中构建的.如果你使用的是Python 3.x,你会想要这个:
>>> dict1 = {'a':(1, 4, 7), 'b':(2, 5, 8), 'c':(3, 6, 9)}
>>> {x:tuple(z for z in y for _ in range(2)) for x,y in dict1.items()}
{'a': (1, 1, 4, 4, 7, 7), 'c': (3, 3, 6, 6, 9, 9), 'b': (2, 2, 5, 5, 8, 8)}
>>>
Run Code Online (Sandbox Code Playgroud)
此外,在两种解决方案中,都无法保证密钥的顺序.这只是字典在Python中实现的结果.