如何以CSV可接受的格式打印元组元组列表?

时间:2017-04-04 18:33:22

标签: python

我有一个元组列表,我想以CSV格式打印,不带引号或括号。

[(('a','b','c'), 'd'), ... ,(('e','f','g'), 'h')]

期望的输出:

a,b,c,d,e,f,g,h

我可以使用chain,.join()或* -operator来摆脱一些标点符号,但是我的知识不够复杂,无法根据我的特定用例去除所有这些标点符号。

谢谢。

1 个答案:

答案 0 :(得分:1)

因此,在您的情况下,有一种模式可以使这相对容易:

>>> x = [(('a','b','c'), 'd') ,(('e','f','g'), 'h')]
>>> [c for a,b in x for c in (*a, b)]
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

或者itertools.chain解决方案:

>>> list(chain.from_iterable((*a, b) for a,b in x))
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
>>>

而且,如果您使用的是旧版本的Python,并且无法使用(*a, b),则需要以下内容:

[c for a,b in x for c in a+(b,)]