列表中的嵌套元组

Nested tuples within lists

我有一个元组列表列表,但在访问元组中的值时遇到问题。

注意:对于这个查询的基本性质,我深表歉意,但我是初学者,访问简单变量需要很长时间。

E.g: 

[[('foo', '-1')],[('bar', '-5'),('baz', '+7')], [('qux', '+9')]]

我想 1) 删除每个元组的第二个值,即数字和 2) 删除元组类型并将其转换为字符串列表。

如您所见,它是一个元组列表,因此它可以是一个元组或多个基于提取内容的元组 - 但每个元组中始终有 2 个值,我想删除第二个值。

我遇到问题 1) 将每个元组转换为字符串,以便能够 2) 删除第二个值(最好在将其转换为字符串之前删除它)- 有什么想法吗?

问题我不是很理解,但有两点:

  1. 您在元组中的值已经是字符串。

  2. 要访问元组,您可以遍历列表并通过执行以下操作访问元组的第一个值:

tuple[0]

我不明白你是否有元组列表,元组列表

只需在列表中迭代得到每个元组的 0 索引

ll_tuple = [[('foo', '-1')],[('bar', '-5'),('baz', '+7')], [('qux', '+9')]]
print(
    [
        [tuple_[0] for tuple_ in l_tuple]
        for l_tuple in ll_tuple
    ]
)

首先你的管列表列表格式不正确我猜你的意思是:

data = [
    [('foo', '-1')],
    [('bar', '-5')],
    [('baz', '+7'), ('qux', '+9')]
]

当创建嵌套 for 循环并将每个小管中的第一个元素附加到新列表输出时。

output = []
for lst in data:
   for tub in lst:
      output.append(tub[0])
print(output)

打印:

['foo', 'bar', 'baz', 'qux']