【问题标题】:Get index of list of dictionaries while iterating through it迭代时获取字典列表的索引
【发布时间】:2018-01-27 18:11:55
【问题描述】:

我正在使用 python v3.6。

我有一个像这样的字典列表;

dictionary_list = [{'f1': 'name1', 'f2':'1', 'f3':'4'},    
                  {'f1': 'name2', 'f2':'2', 'f3':'5'},
                  {'f1': 'name3', 'f2':'3', 'f3':'6'}]

我有一个简单的 for 循环来遍历这个字典列表。我需要访问列表的索引,但此信息在循环中丢失。如何修改for循环来访问索引?

for i in dictionary_list:
    #How to access the index in the dictionary_list
pass

【问题讨论】:

  • 为什么需要索引?
  • 这个问题有什么问题?为什么投反对票?我想知道将来在 stackoverflow 上提出正确的问题。
  • 呸,收到有关您评论的通知,以为您已经回答了我的问题。叹。我问这个不是为了好玩,顺便说一句。我不相信你真的需要索引。你不会是第一个ask for Y when you really need X的人。
  • @Stefan Pochmann,我需要索引来保持计数。抱歉,我不知道为什么提供这些信息会有用,因为在您发表评论时我已经从 TerryA 那里得到了答案。无论如何,感谢您的光临。
  • 如果您实际上不需要索引,它可能会很有用。虽然enumerate 肯定会执行您要求的 Y,但执行您真正想要的 X 可能仍然是错误的方法。再说一遍:你不会是第一个这样做的人。不确定“保持计数”是什么意思,这并不能真正回答问题。但是,好吧,随便。无论如何,如果你确实想在这里做正确的事情,我建议不要忽视那些试图提供帮助的人。

标签: python python-3.x list dictionary indexing


【解决方案1】:

你想使用enumerate():

for i, j in enumerate(dictionary_list):
    print(i, j)

这将打印:

(0, {'f1': 'name1', 'f2': '1', 'f3': '4'})
(1, {'f1': 'name2', 'f2': '2', 'f3': '5'})
(2, {'f1': 'name3', 'f2': '3', 'f3': '6'})

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 2013-04-26
    • 2014-03-08
    相关资源
    最近更新 更多