python - 如何从长度可变的元组列表中提取数据

标签 python list tuples

我有一个包含多个元组的列表(项目的长度是可变的),我想提取一些位于元组内相同排名的特定数据。

让我给你举个例子。让我们处理这个包含 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]) 中的第一个元组。 0x[0]需要是一个迭代列表的变量。如果你向上计数而不是向下计数,这会更容易,即

counter = 0
while counter < len(x):
    print(x[counter][3])
    counter += 1

但是使用 while 确实没有意义为此,当for存在。

关于python - 如何从长度可变的元组列表中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62799992/

相关文章:

C++14 元组按类型寻址——这不只是在做一个普遍无效的假设吗?

python - py安装程序: qwebkit cannot load pictures and garbled text when package pyside gui with pyinstaller

python - 生成日历Python网页

javascript - 将多维数组组合成基于键的字典对象

c# - 按列表 C# 中的值过滤/迭代列表

python - 在 Python 中一次为一个对象分配多个属性

c# - 在预构建中生成代码的问题

python - 黑色格式化程序 - 忽略特定的多行代码

python - 按项目获取列表列表中的唯一条目

c++ - 在元组中搜索函数的参数