如何在python的for循环中将不同的字典添加到同一列表中?

CZRM

我正在尝试使用for循环将不同的字典添加到同一列表中,但是我不知道如何在每次迭代中生成新的字典。我使用的文件具有以下格式:
食谱名称
食谱
食谱名称
食谱
,其中食谱是“ 1杯面粉”。有十行食谱

我正在尝试将每个食谱添加到不同的词典,并将这些词典附加到列表中。这是我所拥有的:

    fhand = open("recipe.txt").read()
    lines = fhand.split('\n')
    menu = []
    num_of_ingredients = 10
    count = 0
    d = {}
    for line in lines:
        c = count % (num_of_ingredients + 1)
        if c == 0:
            print("Recipe name: ", line)
            menu.append(d)
        else:
            l = line.split(' ')
            print(l)
            servings = l[0]
            line = line[2::] 
            ingredient = line
            print(servings, str(ingredient)) #this line was for me to know how it looks like
            d[ingredient] = servings
       
        count += 1
    menu.append(d)
索拉迪普·萨哈(Sawradip Saha)

我猜您的文件格式是这样的[如果num_of_ingredients = 3]

Soup
1 cup flour
2 cup ginger 
3 cup onion
Sandwitch
5 cup bread
3 cup meat
8 cup garlic

而你想要的是

[ {"Recipe name": "Soup", "flour":"1 cup", "ginger": "2  cups", "onion":"3 cup"}, ...]

该代码将帮助您:

with open(r"food.txt", "r") as f:
    lines = f.readlines()

num_of_ingredients = 3
menu = []

d = {}  #This defined here just to avoid some warning(d being used before being assigned).

for n_line, line in enumerate(lines): 

    if not ( n_line % (num_of_ingredients+1)):    #enumerate is far better choice than counting manually
        if (n_line != 0) :
            menu.append(d)       #dictionary will be appended , only when it is time to assign a new recipe(but you know that already)
        d = {}               #Here comes the important part(your answer), This is how you should assign new empty dict, everytime a new list item is initiated.
        d["Recipe name"] = line

    else:
        ingredient = ' '.join(line.split()[2:])
        servings = ' '.join(line.split()[:2])
        d[ingredient] = servings
menu.append(d)      #this last append is beacuse after the last iteration, we won't go back to the if block, to append rhe last list item.

print(menu)

如果我的假设有误,请告诉我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在for循环中将列表添加到同一变量?

来自分类Dev

如何在Python的for循环中将项目添加到字典中?

来自分类Dev

如何将同一列两次添加到不同位置的表中?

来自分类Dev

如何在字典中将元素添加到列表中?

来自分类Dev

如何在python中将2个不同的列表动态添加到字典

来自分类Dev

Python在循环中创建对象将项目追加到同一列表而不是新列表

来自分类Dev

如何在Dart中将不同类型的项目添加到动态地图中的列表中

来自分类Dev

Scala,将列表的最后两项的总和添加到同一列表中

来自分类Dev

Python,在并行循环中将键值添加到字典中

来自分类Dev

如何在python中将元素添加到列表中?

来自分类Dev

如何在python中将元素添加到列表中

来自分类Dev

JavaScript:在空间上划分数组元素并添加到同一列表

来自分类Dev

将计算的行添加到同一列表

来自分类Dev

如何在Java的同一列表中添加多个对象类型

来自分类Dev

如何在for循环中将多个字符串输入添加到Python中的单个变量?

来自分类Dev

如何从python的同一列表中获取不同长度的多个组合?

来自分类Dev

如何在for循环中将边添加到图形中?

来自分类Dev

如何在Python的一行中将多个值添加到列表中?

来自分类Dev

将不同的类添加到循环中的第一个div

来自分类Dev

如何在同一行中将多个项目添加到列表框C#中?

来自分类Dev

创建列表列表并添加到 for 循环中的字典

来自分类Dev

在删除列表中的数据并将其再次添加到同一列表中时需要一些帮助

来自分类Dev

如何在循环中将数据附加到列表中?

来自分类Dev

如何创建一个列表作为字典的键并添加到不同部分的列表中?

来自分类常见问题

将不同的值添加到并发字典中的列表中

来自分类Dev

将值映射到列表中的项目,并将新值添加到同一列表中C#

来自分类Dev

如何比较同一列表中的元素并追加到其他列表?(蟒蛇)

来自分类Dev

如何在python中将两个奇数列表添加到一个列表中?

来自分类Dev

如何在循环中将类添加到最后一个帖子的最后一个图像中[Wordpress]

Related 相关文章

  1. 1

    如何在for循环中将列表添加到同一变量?

  2. 2

    如何在Python的for循环中将项目添加到字典中?

  3. 3

    如何将同一列两次添加到不同位置的表中?

  4. 4

    如何在字典中将元素添加到列表中?

  5. 5

    如何在python中将2个不同的列表动态添加到字典

  6. 6

    Python在循环中创建对象将项目追加到同一列表而不是新列表

  7. 7

    如何在Dart中将不同类型的项目添加到动态地图中的列表中

  8. 8

    Scala,将列表的最后两项的总和添加到同一列表中

  9. 9

    Python,在并行循环中将键值添加到字典中

  10. 10

    如何在python中将元素添加到列表中?

  11. 11

    如何在python中将元素添加到列表中

  12. 12

    JavaScript:在空间上划分数组元素并添加到同一列表

  13. 13

    将计算的行添加到同一列表

  14. 14

    如何在Java的同一列表中添加多个对象类型

  15. 15

    如何在for循环中将多个字符串输入添加到Python中的单个变量?

  16. 16

    如何从python的同一列表中获取不同长度的多个组合?

  17. 17

    如何在for循环中将边添加到图形中?

  18. 18

    如何在Python的一行中将多个值添加到列表中?

  19. 19

    将不同的类添加到循环中的第一个div

  20. 20

    如何在同一行中将多个项目添加到列表框C#中?

  21. 21

    创建列表列表并添加到 for 循环中的字典

  22. 22

    在删除列表中的数据并将其再次添加到同一列表中时需要一些帮助

  23. 23

    如何在循环中将数据附加到列表中?

  24. 24

    如何创建一个列表作为字典的键并添加到不同部分的列表中?

  25. 25

    将不同的值添加到并发字典中的列表中

  26. 26

    将值映射到列表中的项目,并将新值添加到同一列表中C#

  27. 27

    如何比较同一列表中的元素并追加到其他列表?(蟒蛇)

  28. 28

    如何在python中将两个奇数列表添加到一个列表中?

  29. 29

    如何在循环中将类添加到最后一个帖子的最后一个图像中[Wordpress]

热门标签

归档