如何获得以下列表?

时间:2018-03-14 17:53:33

标签: python

您好我有以下词典:

dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']}

从中我想获得以下列表:

key1 = ['color1','color2']
key2 = ['car1','car2']
key3 = ['frut1']

我需要从我试过的词典中动态创建这个列表:

list_keys = dictionary.keys()
list_values = dictionary.values()

然后:

keys, values = zip(*dictionary.items())

但是我没有结果我需要我认为也许这个任务可以使用exec完成,但我不知道如何继续     因为我希望得到支持,以克服这项任务。

2 个答案:

答案 0 :(得分:1)

字典是存储可变数量变量的唯一好方法。你的字典看起来很好。

如果你想要整数标识符,例如您的用例中的密钥实际上没有编号,下面是您可以执行的操作示例:

d = {'key1': ['color1', 'color2'],
     'key2': ['car1', 'car2'],
     'key3': ['frut1']}

values = {i: list(v) for i, (k, v) in enumerate(sorted(d.items()), 1)}

{1: ['color1', 'color2'],
 2: ['car1', 'car2'],
 3: ['frut1']}

答案 1 :(得分:0)

您可以在对字典内容进行排序后解压缩:

import re
dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']}
key1, key2, key3 = sorted(dictionary.items(), key=lambda x:int(re.findall('\d+$', x[0])[0]))