我正在尝试从字典创建多个列表。例如: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”循环两次?
2 回答
![?](http://img1.sycdn.imooc.com/545869510001a20b02200220-100-100.jpg)
三国纷争
TA贡献1804条经验 获得超7个赞
如果你真的想的话,你可以尝试多重分配:
list_1, list_2 = list(dict_.keys()), list(dict_.values())
或者你可以使用单个 listcomp
list_1, list_2 = [list(tup) for tup in zip(*dict_.items())]
或者如果你感觉功能齐全,你可以尝试
list_1, list_2 = map(list, zip(*dict_.items()))
但可读性很重要,简单比复杂更好,所以两行单独的行可能是更好的方法
![?](http://img1.sycdn.imooc.com/533e4c3300019caf02000200-100-100.jpg)
郎朗坤
TA贡献1921条经验 获得超9个赞
dict_ = {'one': 1, 'two': 2, 'three': 3, 'four': 4} list_1, list_2 = list(dict_.keys()), list(dict_.values())
添加回答
举报
0/150
提交
取消