如何仅将元组列表的第一个元素放入数组

how to get only the first element of a touple list into an array

我有(查询结果)my_list = [('a',),('b',),('c',),('g',),('j',)]
我想把它翻译成 ['a','b','c']
到目前为止我有什么 r = [rs for rs in my_list if rs not in[('g',),('j',)]]

这将获取 ('a',),('b',),('c',)

您需要select元组的第一个元素:

r = [rs[0] for rs in list if rs not in[('g',),('j',)]]
#       ^

我不明白选择项目的规则是什么,但您想 flatten 您的初始列表(list 重命名为 l):

[item for sublist in l[:3] for item in sublist]

这个returns['a', 'b', 'c'].

如果您已经知道输入列表的结构,则不需要过滤每个项目。如果过滤规则比您当前问题建议的更复杂,您应该指定它们。

inputs = [('a',),('b',),('c',),('g',),('j',)]

r = [left for (left,) in inputs if left not in ['g','j']]

注意list是python中的一个重要函数,用它作为变量名会覆盖它