首页 > 解决方案 > 在 Python 中,如何使用 for 循环从字典创建嵌套列表?

问题描述

这是作业:

fruits = {'banana':3,'apple':2, 'mango':1, 'kiwi':5}

这是我应该得到的结果:

fruits_list = [
    ['banana', 'banana', 'banana'], 
    ['apple', 'apple'], 
    ['mango'], 
    ['kiwi', 'kiwi', 'kiwi', 'kiwi', 'kiwi']]

标签: python-3.xloopsdictionaryfor-loopnested

解决方案


您需要遍历所有水果键并构建一个重复键N=value时间的列表。

您可以使用列表推导来完成此操作。

  • 要遍历您需要的所有 dict 项目fruits.items()
  • 要构建一个重复每个键 N 次的列表,请执行以下操作[key]*N
  • 由于 dict 值指示要重复多少次,请执行以下操作:[key]*value

最后:

fruits_list = [[key]*value for key, value in fruits.items()]

然后print(fruit_list)给你:

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux

[['banana', 'banana', 'banana'], ['apple', 'apple'], ['mango'], ['kiwi', 'kiwi', 'kiwi', 'kiwi', 'kiwi']]

推荐阅读