我有(查询结果)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',)
答案 0 :(得分:1)
inputs = [('a',),('b',),('c',),('g',),('j',)]
r = [left for (left,) in inputs if left not in ['g','j']]
注意list
是python中的一个重要函数,使用它作为变量名将覆盖它。
答案 1 :(得分:0)
您需要选择元组的第一个元素:
r = [rs[0] for rs in list if rs not in[('g',),('j',)]]
# ^
答案 2 :(得分:0)
我不了解选择项目的规则,但您想要flatten您的初始列表(list
重命名为l
):
[item for sublist in l[:3] for item in sublist]
返回['a', 'b', 'c']
。
如果您已经知道输入列表的结构,则无需过滤每个项目。如果过滤规则比当前问题建议的更复杂,则应指定它们。