如何仅将元组列表的第一个元素放入数组
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中的一个重要函数,用它作为变量名会覆盖它
我有(查询结果)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中的一个重要函数,用它作为变量名会覆盖它