我有一个包含多个元组的列表(项目的长度是可变的),我想提取一些位于元组内相同排名的特定数据。
让我给你举个例子。让我们处理这个包含 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]
替换为 y 变量 print(x[0][3])
得到我想要的结果?
最佳答案
为此使用 for 循环会更自然:
for item in x:
print(item[3])
您的代码不起作用的原因是您对其进行了硬编码,以始终获取列表中的第一个元组,即 print(x[0][3])
中的第一个元组。 0
在x[0]
需要是一个迭代列表的变量。如果你向上计数而不是向下计数,这会更容易,即
counter = 0
while counter < len(x):
print(x[counter][3])
counter += 1
但是使用 while
确实没有意义为此,当for
存在。
关于python - 如何从长度可变的元组列表中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62799992/