在python中访问列表的元素

时间:2019-08-29 07:18:31

标签: python list element

对于为什么这段代码没有在我试图访问列表元素的位置执行,我感到困惑。

name = 'nithin'
age = 23
my_list =[age, name]
print(my_list.name)

在这里,如果我将名称和年龄值作为列表元素传递,然后又想通过列表访问它们,那么如何访问它们。

这给了我以下错误

AttributeError: 'list' object has no attribute 'name'

请帮助我消除这个疑问。

7 个答案:

答案 0 :(得分:1)

通过索引从零开始访问列表。

因此,当您拥有my_list =[age, name]时,

  • 第零个元素是my_list[0]给出23
  • 然后my_list[1]给出nithin

这是列表https://docs.python.org/3/tutorial/datastructures.html

上的Python文档

答案 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)

无法通过字典等键来访问列表。如果您需要通过密钥访问。您可以使用字典或命名元组。

named tuple

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'])

请记住,字典不能使元组可变。