Python 列表无法进入列表列表中的元素
Python list can't get into an element inside a list of list
我构建了一个 class,当我打印其中 len 为 150 的列表时。这是一个列表列表,如下所示:
[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}], [{'id': '1234125', 'date': '2022-01-12', 'money': '124.0', 'vat': '12.12', 'payment': 'CC'}]]
当我尝试输入其中一个列表中的值时,出现错误
print(lst[0][1])
IndexError: list index out of range
为什么会这样?
data = [[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}], [{'id': '1234125', 'date': '2022-01-12', 'money': '124.0', 'vat': '12.12', 'payment': 'CC'}]]
# type list
print(type(data))
# data
print(data[0][0])
# access element 'id' in data
print(data[0][0]['id'])
输出:
<class 'list'>
{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}
1344125
这是您的列表的样子:
[ # outer list
[ # inner list 1
{} # single element inside inner list 1
],
[ # inner list 2
{} # single element insider inner list 2
],
...
]
由于所有内部列表都由一个项目组成,因此只能使用第 0 个索引访问该项目。使用任何其他索引都是非法的并抛出索引超出范围异常。
调试方法如下:
print(len(outer_list))
for inner_list in outer_list:
print(len(inner_list))
因为你的列表超出了范围。您正在访问不存在的第二位值,因为 len(lst) 是 1
,您可以使用 lst[0]
.
访问它
尝试使用
print(lst[0][0]['id'])
。
第一个命名空间 [0]
给你 -
[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6' , 'payment': 'PayPal'}]
第二个命名空间 [0]
给你
{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}
和最后一个命名空间 ['id']
- 1344125
我构建了一个 class,当我打印其中 len 为 150 的列表时。这是一个列表列表,如下所示:
[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}], [{'id': '1234125', 'date': '2022-01-12', 'money': '124.0', 'vat': '12.12', 'payment': 'CC'}]]
当我尝试输入其中一个列表中的值时,出现错误
print(lst[0][1])
IndexError: list index out of range
为什么会这样?
data = [[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}], [{'id': '1234125', 'date': '2022-01-12', 'money': '124.0', 'vat': '12.12', 'payment': 'CC'}]]
# type list
print(type(data))
# data
print(data[0][0])
# access element 'id' in data
print(data[0][0]['id'])
输出:
<class 'list'>
{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}
1344125
这是您的列表的样子:
[ # outer list [ # inner list 1 {} # single element inside inner list 1 ], [ # inner list 2 {} # single element insider inner list 2 ], ... ]
由于所有内部列表都由一个项目组成,因此只能使用第 0 个索引访问该项目。使用任何其他索引都是非法的并抛出索引超出范围异常。
调试方法如下:
print(len(outer_list)) for inner_list in outer_list: print(len(inner_list))
因为你的列表超出了范围。您正在访问不存在的第二位值,因为 len(lst) 是 1
,您可以使用 lst[0]
.
尝试使用
print(lst[0][0]['id'])
。
第一个命名空间 [0]
给你 -
[{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6' , 'payment': 'PayPal'}]
第二个命名空间 [0]
给你
{'id': '1344125', 'date': '2022-01-16', 'money': '158.0', 'vat': '7.6', 'payment': 'PayPal'}
和最后一个命名空间 ['id']
- 1344125