我有一个元组列表,我想以CSV格式打印,不带引号或括号。
[(('a','b','c'), 'd'), ... ,(('e','f','g'), 'h')]
期望的输出:
a,b,c,d,e,f,g,h
我可以使用chain,.join()或* -operator来摆脱一些标点符号,但是我的知识不够复杂,无法根据我的特定用例去除所有这些标点符号。
谢谢。
答案 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,)]