如何将Python字典转换为由键值对子列表组成的列表
Python字典转键值对子列表的更优实现
Python 提供了更简洁的惯用写法,性能和原循环一致,代码量更少可读性更高:
推荐写法:列表推导式结合 dict.items()
字典内置的 items() 方法会直接返回所有键值对组成的可迭代视图,每个元素是 (键, 值) 格式的元组,你只要遍历过程中把每个元组转成列表即可:
my_dict = {'key1': 1, 'key2': 2, 'key3': 'value'} key_value = [list(item) for item in my_dict.items()] print(key_value) # 输出:[['key1', 1], ['key2', 2], ['key3', 'value']]
如果业务逻辑允许子元素为元组而非列表,直接用 list(my_dict.items()) 就能得到 [('key1', 1), ('key2', 2), ('key3', 'value')],执行效率更高。
可选简写:map 函数实现
如果你偏好函数式编程风格,也可以用 map 批量转换元组为列表:
key_value = list(map(list, my_dict.items()))
注意事项
- Python 3.7 及以上版本中,上述写法生成的列表顺序和字典的插入顺序完全一致,符合常规使用预期
- 两种写法的时间复杂度均为O(n),和你原有的循环写法性能没有明显差异,优势仅在于代码更简洁符合Python社区的编码习惯
内容的提问来源于stack exchange,提问作者Fin H
相关产品推荐
相关产品推荐

