Python:如何从这种类型的列表访问数据?

2024-09-30 20:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

Python快速问题:如何从这样的嵌套列表中访问数据:

{'album': [u'Rumours'], 'comment': [u'Track 3'], 'artist': [u'Fleetwood Mac'], 'title': [u'Never Going Back Again'], 'date': [u'1977'], 'genre': [u'Rock'], 'tracknumber': [u'03']}

我尝试了listname[0][0],但它返回错误: AttributeError: 'int' object has no attribute 'lower'

那么我该怎么做呢?在


Tags: 数据列表albumdatetitleartistmacback
2条回答

这不是单子,是字典。对于每一对key,value对,它接受一个不可变的类型作为键,并将任何类型作为值。在您的例子中,这是一个以str类型键和list为值的字典。必须首先从字典中提取列表,然后从列表中提取第一个元素,假设您的意思是:

somedict = {"test": [u"spam"], "foo": [u"bar"]}
print(somedict["test"][0])

请注意,字典不是类型绑定的,可以混合类型:

^{pr2}$

关于字典的更多信息可以在这里找到:http://docs.python.org/tutorial/datastructures.html#dictionaries

这不是一个列表。这是一本词典。在

字典没有排序,因此无法通过数字索引*访问它。在

你必须这样引用它:listname['album']

上面的命令将返回一个包含一个元素的列表(正好是一个列表):[u'Rumours'],要访问一个列表,您可以像往常一样。在

总而言之:

listname['album'][0] 
# Will output the string inside the list.

注意,这个列表可以有更多的元素,所以您可以像这样引用它们[0][1]等等

查看docs了解更多信息。在


*您可以:

^{pr2}$

我的意思是你不使用从零开始的索引,你使用可以是“任何你想要的”的键,这些键引用值。在

相关问题 更多 >