假设我有一个词典列表
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"}
]
我想做的是在第六本字典中提取“名称”的值,
for i in meta_list:
event_name = i['name'][6]
print(event_name)
我的列表索引超出范围错误。 您如何提取姓名 “名称”:“张家港ATP挑战者”, 来自meta_list?
答案 0 :(得分:1)
您可以进行python索引编制:
meta_list[5]['name']
还要注意,python索引从零开始。
获取meta_list
的第六(第五个)元素
获取'name'
键
是的,您完成了
您的代码无法正常工作,因为您在meta_list
上进行了迭代,然后获得了'name'
字典的i
键的第六个字符
最后的输出是:
Zhangjiagang ATP Challenger
答案 1 :(得分:1)
让我们一步一步地说明您:
meta_list
到meta_list[5]
的第6个元素(因为第6个元素的索引为5,在Python中从0开始索引):您将获得一个字典'name'
获取与此字典中的键meta_list[5]['name']
关联的值解决方案是:
print(meta_list[5]['name']) # Zhangjiagang ATP Challenger
对于无效的原始代码,语句for i in meta_list
遍历meta_list
的每个元素,因此遍历每个字典。当您执行event_name = i['name'][6]
时,您尝试获取与name
键相关联的值的第7个字符,这会引起错误,因为“ Tennis”(在第一个词典中)短于7个字符。错误IndexError: string index out of range
很明显。
答案 2 :(得分:0)
'i'引用字典中的每个项目。为了访问键“名称”的值,请使用i ['名称']:
for i in meta_list:
event_name = i['name']
print(event_name)