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

2024-04-20 06:09:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有(查询结果)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',)


Tags: inforifmynotlistrs
3条回答

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

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

返回['a', 'b', 'c']。你知道吗

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

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

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

请注意,list是python中的一个重要函数,将其用作变量名将覆盖它。你知道吗

您需要选择元组的第一个元素:

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

相关问题 更多 >