对于为什么这段代码没有在我试图访问列表元素的位置执行,我感到困惑。
name = 'nithin'
age = 23
my_list =[age, name]
print(my_list.name)
在这里,如果我将名称和年龄值作为列表元素传递,然后又想通过列表访问它们,那么如何访问它们。
这给了我以下错误
AttributeError: 'list' object has no attribute 'name'
请帮助我消除这个疑问。
答案 0 :(得分:1)
通过索引从零开始访问列表。
因此,当您拥有my_list =[age, name]
时,
my_list[0]
给出23 my_list[1]
给出nithin
答案 1 :(得分:1)
只能通过从零开始的索引来按名称访问python列表的元素。
要访问列表的第一个元素,您可以使用my_list[0]
print(my_list[0])
>> 23
print(my_list[1])
>> nithin
我建议这里的其他人已经读过python中可用的数据结构,也许还有一些有关如何正确使用它们的教程。
答案 2 :(得分:1)
列表已建立索引。您无法通过键入内容来联系他们。 my_list[0]
将返回age
。
也许您正在寻找字典。 https://docs.python.org/3/tutorial/datastructures.html#dictionaries
如果是这样,您的语法应类似于my_dict={key:val,key2:val2}
,并且您的元素将使用my_dict[key]
。
答案 3 :(得分:0)
只能通过索引访问列表。
尝试一下:
{
"name" : name
}
您可以这样做:
my_map["name"]
答案 4 :(得分:0)
Python list
不支持通过变量名进行访问。您需要通过索引其位置来使用dictionary
或索引列表。
my_list =[age, name]
my_list[1] # zero index
or
my_dict = {'age': 25, 'name': 'Your name'}
my_dict['name']
答案 5 :(得分:0)
如果它是列表,但您不知道索引,请使用:
print([i for i in my_list if i == name])
但这根本没有意义,为什么不使用:
print(name)
???
答案 6 :(得分:0)
无法通过字典等键来访问列表。如果您需要通过密钥访问。您可以使用字典或命名元组。
from collections import namedtuple
Person = namedtuple('Person', ['name', 'age'])
pers1 = Person(name='Peter', age=31)
print(pers1.name)
字典
pers1 = {'name':'Peter', 'age':'31'}
print(pers1['name'])
请记住,字典不能使元组可变。