猿问

如何创建包含多个字典项的列表理解?

我正在尝试从字典创建多个列表。例如:

dict_ = {'one': 1, 'two': 2, 'three': 3, 'four': 4}
list_1 = [k for k, v in dict_.items()]
list_2 = [v for k, v in dict_.items()]

上面的方法有效,但我试图找出是否有一个衬垫可以创建 list_1 和 list_2 而不是重复相同的“for”循环两次?


摇曳的蔷薇
浏览 93回答 2
2回答

三国纷争

如果你真的想的话,你可以尝试多重分配:list_1, list_2 = list(dict_.keys()), list(dict_.values())或者你可以使用单个 listcomplist_1, list_2 = [list(tup) for tup in zip(*dict_.items())]或者如果你感觉功能齐全,你可以尝试list_1, list_2 = map(list, zip(*dict_.items()))但可读性很重要,简单比复杂更好,所以两行单独的行可能是更好的方法

郎朗坤

dict_ = {'one': 1, 'two': 2, 'three': 3, 'four': 4} list_1, list_2 = list(dict_.keys()), list(dict_.values())
随时随地看视频慕课网APP

相关分类

Python
我要回答