Python 将元组列表转换为字符串列表

Python 将元组列表转换为字符串列表,python,Python,所以我有一个元组列表,例如[('GGG',),('AAA',),('BBB',)],我想把它转换成一个字符串列表:['GGG','AAA','BBB'] 我曾尝试将for循环与join方法一起使用,但无法使其工作。任何帮助都将不胜感激,谢谢 使用简单的列表理解: >>> my_list_of_tuples = [('GGG',), ('AAA',), ('BBB',)] >>> my_list_of_strings = [str(*x) for x in my

所以我有一个元组列表,例如
[('GGG',),('AAA',),('BBB',)]
,我想把它转换成一个字符串列表:
['GGG','AAA','BBB']


我曾尝试将for循环与join方法一起使用,但无法使其工作。任何帮助都将不胜感激,谢谢

使用简单的列表理解:

>>> my_list_of_tuples = [('GGG',), ('AAA',), ('BBB',)]
>>> my_list_of_strings = [str(*x) for x in my_list_of_tuples]
>>> my_list_of_strings
['GGG', 'AAA', 'BBB']

使用简单的列表理解:

>>> my_list_of_tuples = [('GGG',), ('AAA',), ('BBB',)]
>>> my_list_of_strings = [str(*x) for x in my_list_of_tuples]
>>> my_list_of_strings
['GGG', 'AAA', 'BBB']
使用自

e、 g

输出

['GGG'、'AAA'、'BBB']

使用
列表
仅允许打印输出。它强制立即计算从
链.from\u iterable
返回的惰性对象。如果以后要在对象上迭代,则不需要它。

使用from

e、 g

输出

['GGG'、'AAA'、'BBB']


使用
列表
仅允许打印输出。它强制立即计算从
链.from\u iterable
返回的惰性对象。如果以后要在对象上迭代,则不需要它。

有多种方法可以实现这一点。如果数组是
z=[('GGG',),('AAA',),('BBB',)]
,那么:

1) 使用
zip
list(list(zip(*z))[0])

另外两个最近的答案写了其他的方法:)

此外,虽然没有人问我,但我对性能感兴趣,我想分享一个相当简单的基准测试的结果:

输入

@保罗·鲁尼

%timeit itertools.chain.from_iterable(z)
# 129 ns ± 2.52 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
@冷速

%timeit [x[0] for x in z]
# 254 µs ± 1.34 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
@这个

@精神病

%timeit [str(*x) for x in z]
# 809 µs ± 904 ns per loop (mean ± std. dev. of 7 runs, 1000 loops each)

有多种方法可以实现这一点。如果数组是
z=[('GGG',),('AAA',),('BBB',)]
,那么:

1) 使用
zip
list(list(zip(*z))[0])

另外两个最近的答案写了其他的方法:)

此外,虽然没有人问我,但我对性能感兴趣,我想分享一个相当简单的基准测试的结果:

输入

@保罗·鲁尼

%timeit itertools.chain.from_iterable(z)
# 129 ns ± 2.52 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
@冷速

%timeit [x[0] for x in z]
# 254 µs ± 1.34 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
@这个

@精神病

%timeit [str(*x) for x in z]
# 809 µs ± 904 ns per loop (mean ± std. dev. of 7 runs, 1000 loops each)
上面一个给出了字符串列表


上面给出了字符串列表

您可以使用
itertools
chain
方法在
python2
python3

from itertools import chain
data = [('GGG',), ('AAA',), ('BBB',)]
for item in itertools.chain(*data):
    print(item)
itertools.chain方法返回
chain
对象,您可以得到 元素使用
列出
迭代
使用
for


您只需使用在
python2
python3
中测试的
itertools
chain
方法即可

from itertools import chain
data = [('GGG',), ('AAA',), ('BBB',)]
for item in itertools.chain(*data):
    print(item)
itertools.chain方法返回
chain
对象,您可以得到 元素使用
列出
迭代
使用
for


您可以使用
'isinstance
'或
type()==tuple
方法,使用列表理解仅在一行中完成此工作:

 print([j for i in your_list for j in i if isinstance(i,tuple)])

:)

您可以使用
'isinstance
'或
type()==tuple
方法使用列表理解只需一行即可完成这项工作:

 print([j for i in your_list for j in i if isinstance(i,tuple)])

:)

元组“[(GGG,),(AAA,),(BBB,)]”列表中的元素也是字符串吗?是的,是的,这是我的错误。我将更新这个问题。只需使用
itertools.chain.from_iterable
。没有人提到:
[x[0]表示项目中的x]
我认为@mentalita或多或少地涵盖了这一点。元组列表中的元素也是字符串吗?[(GGG,),(AAA,),(BBB,)]`是的,这是我的错误。我将更新这个问题。只需使用
itertools.chain.from_iterable
。没有人提到:
[x[0]表示项目中的x]
我认为@mentalita或多或少涵盖了这一点。
str
是一个不好的变量名。有一个内置的函数叫做that。希望他需要简单的逻辑来完成他的任务。无论如何,下次我也会处理变量名。
str
是一个不好的变量名。有一个内置的函数叫做that。希望他需要简单的逻辑来完成他的任务。无论如何,下次我也会处理变量名。