Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在飞行中获得以下列表?_Python - Fatal编程技术网

Python 如何在飞行中获得以下列表?

Python 如何在飞行中获得以下列表?,python,Python,你好,我有以下字典: dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']} import re dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']} key1, key2, key3 = sorted(dictionary.items(), key=lambda x:int

你好,我有以下字典:

dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']}
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]))
我想从中得到以下列表:

key1 = ['color1','color2']
key2 = ['car1','car2']
key3 = ['frut1']
我需要从我尝试的字典中动态创建此列表:

list_keys = dictionary.keys()
list_values = dictionary.values()
然后:

keys, values = zip(*dictionary.items())
但是我没有我需要的结果,我想也许这个任务可以用exec完成,但是我不知道如何继续
因此,我非常感谢您的支持,以完成此任务。

您可以在对词典内容进行排序后解包:

dictionary = {'key1': ['color1','color2'],'key2':['car1','car2'],'key3':['frut1']}
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]))

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

如果您想要整数标识符,例如用例中的键实际上没有编号,下面是一个您可以做的示例:

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']}

这是一种糟糕的做法,因为您可以直接使用
dictionary['key1']
而不会遇到任何问题。你想做什么?我需要得到一个包含键名和包含的值的列表,我需要一个在内存中具有该名称的列表对等键。真的,你没有。你可以直接使用字典。你是说你想从字典中得到的任何键动态创建变量
key1
等等?这仍然是有道理的。听起来像个XY问题。你真正需要做什么?是的,我需要友好地提取密钥的名称,然后生成一个具有该名称和相应值的列表。我不理解这个解决方案,因为我有几个值。如果我像这样继续,我将手动写入key1,key2,key3,。。。,keyN@neo33那样的话您必须通过将键名传递给结构来使用现有的字典。正如coldspeed在评论中指出的,没有好的方法来完成你想要做的事情。为什么要投否决票?