如何将Python字典列表转换为嵌套列表,每个键值对为子列表?
解决方法
你可以用嵌套列表推导式实现这个需求,直接遍历原列表中的每个字典,再将每个字典的键值对转换成子列表:
# 注意:示例中的键需要加引号,否则会被视为未定义变量 original_list = [{'a': 1, 'b': 2, 'c': 3}, {'d': 4, 'e': 5, 'f': 6}, {'g': 7, 'h': 8, 'i': 9}] new_list = [[[k, v] for k, v in d.items()] for d in original_list] print(new_list)
运行结果:
[[['a', 1], ['b', 2], ['c', 3]], [['d', 4], ['e', 5], ['f', 6]], [['g', 7], ['h', 8], ['i', 9]]]
补充说明
- Python 3.7及以上版本中,字典默认保持插入顺序,所以转换后的子列表顺序会和原字典的键值对顺序一致;
- 如果使用更早的Python版本且需要保持顺序,可以用
collections.OrderedDict定义原字典。
内容的提问来源于stack exchange,提问作者user20266627
相关产品推荐
相关产品推荐

