假设我有一个字典列表
meta_list = [
{"id": 9, "name": "Tennis", "type": "SPORT", "url-name": "tennis"},
{"id": 410468520880009, "name": "Live Betting", "type": "OTHER", "url-name": "live-betting"},
{"id": 423407498380010, "name": "China", "type": "COUNTRY", "url-name": "china"},
{"id": 613128412140012, "name": "September 7th 2018", "type": "DATE", "url-name": "september-7th-2018"},
{"id": 643136938410012, "name": "QF", "type": "OTHER", "url-name": "qf"},
{"id": 899076982160041, "name": "Zhangjiagang ATP Challenger", "type": "COMPETITION", "url-name": "zhangjiagang-atp-challenger"}
]
我正在尝试做的是提取第 6 个字典中"name"的值,
for i in meta_list:
event_name = i['name'][6]
print(event_name)
我收到列表索引超出范围错误。 你如何提取名称 "名称": "张家港ATP挑战赛", 从meta_list?
你可以做python索引:
meta_list[5]['name']
另请注意,python索引从零开始
解释:
获取
meta_list
的第六个(第五个(元素获取
'name'
密钥是的,你完成了
您的代码不起作用,因为您的迭代通过meta_list
然后获取i
字典的'name'
键的第 6 个字符
最后输出为:
Zhangjiagang ATP Challenger
让我们一步一步地解释你:
- 你应该首先得到列表的第 6 个元素
meta_list
到meta_list[5]
(因为第 6 个元素的索引为 5,在 Python 中索引从 0 开始(: 你得到一个字典 - 然后,您应该通过
meta_list[5]['name']
获取与此字典中的键'name'
关联的值 - 大功告成!
解决方案是:
print(meta_list[5]['name']) # Zhangjiagang ATP Challenger
关于不起作用的原始代码,语句for i in meta_list
遍历meta_list
的每个元素,因此遍历每个字典。当您执行event_name = i['name'][6]
时,您尝试获取与name
键关联的值的第 7 个字符,这会引起错误,因为"网球"(在第一个字典中(短于 7 个字符。错误IndexError: string index out of range
很清楚。
i"指的是字典中的每个项目。要访问键"name"的值,请使用 i["name"]:
for i in meta_list:
event_name = i['name']
print(event_name)