【发布时间】:2020-07-08 17:08:10
【问题描述】:
我有一个包含多个元组的列表(项目的长度是可变的),我想提取一些位于元组内相同等级的特定数据。
让我给你看一个例子。让我们处理这个包含 3 个元组的列表:
x = [
('a1', 'b2', 'c3', 'd4'),
('e5', 'f6', 'g7', 'h8'),
('i9', 'j10', 'k11', 'l12')
]
我想检索每个元组的第四项。我在While 循环中使用列表的长度:
y = len(x)
while y > 0:
print(x[0][3])
y = y - 1
我得到的结果是:
d4
d4
d4
但我想要以下结果:
d4
h8
l12
有没有办法将[0] 替换为此部分print(x[0][3]) 中的y 变量以获得我想要的结果?
【问题讨论】:
-
您实际上是在打印
print(x[0][3]),这是一个常量值,每次在循环中。 -
是的。
print(x[y][3]) -
print(x[y][3])给了我这个 IndexError: list index out of range -
@FrançoiseDionisi 那是因为
y倒数,您可以改为从 0 开始执行while y < len(x),但 for 循环更有意义。 -
是的。 y 开始是 x 的长度。 Python 使用 0 索引列表。范围内最大的索引是
len(x) - 1