您好我有以下词典:
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完成,但我不知道如何继续 因为我希望得到支持,以克服这项任务。
答案 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]))