【发布时间】:2013-06-26 15:04:03
【问题描述】:
在 python 中,我有一个名为“list”的列表,如下所示:
[{'lastname': 'lname1', 'firstname': 'fname1', 'shortname': 'SN1'},
{'lastname': 'lname2', 'firstname': 'fname2', 'shortname': 'SN2'},
{'lastname': 'lname3', 'firstname': 'fname3', 'shortname': 'SN3'}]
我需要能够访问列表中每个项目的每个属性。所以我必须获取每个用户的姓氏、每个用户的名字等
由于这是一个列表,我一直在尝试这样做:
for idx in enumerate(list):
print(list[idx])
但我收到一条错误消息,提示列表索引必须是整数,而不是元组。
所以试试这个:
for idx in enumerate(list):
print(idx)
我得到这样的输出:
(0, {'lastname': 'lname1', 'firstname': 'fname1', 'shortname': 'SN1'})
(1, {'lastname': 'lname2', 'firstname': 'fname2', 'shortname': 'SN2'})
(2, {'lastname': 'lname3', 'firstname': 'fname3', 'shortname': 'SN3'})
我想要的只是能够获取索引,这样我就可以遍历每个列表项并说
firstname = list[idx]["firstname"]
lastname = list[idx]["lastname"]
等等。
注意:如果我说类似
print(list[0]["firstname"])
效果很好。
我做错了什么?或者我需要做什么?谢谢!
【问题讨论】:
-
请不要将您的列表命名为
list,因为这会掩盖 Python 中的文字。 -
我一定会改变的!
-
使用枚举的更好方法是:
for idx, item in enumerate(list):
标签: python json list loops enumerate