Python将元组列表转换为单元组

sta*_*low 1 python django list

有没有办法将元组列表转换为单个元组?我从 cursor.fetchall() 收到了一个元组列表,但想把它变成一个元组:

curr_table_columns = cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

例如:

[(u'w_id',), (u'w_name',), (u'w_street',)]
Run Code Online (Sandbox Code Playgroud)

变成

[(u'w_id', u'w_name', u'w_street')]
Run Code Online (Sandbox Code Playgroud)

Sha*_*ger 5

有了itertools.chain,这很简单。from itertools import chain你可以这样做:

[tuple(chain.from_iterable(curr_table_columns))]
Run Code Online (Sandbox Code Playgroud)

或者:

[tuple(chain(*curr_table_columns))]
Run Code Online (Sandbox Code Playgroud)

对于长的或无界的可迭代输入,前者是首选(尽管不要tuple为无界换行!);对于小输入(尤其是已经是 alist或 的输入tuple),后者稍慢,但很好。任何一个都将比基因表达式和索引任何大小的输入快得多。