如何以最 pythonic 的方式(可能使用 zip)转换带有 Python 的元组列表
How to transform a list of tuples with Python in the most pythonic way (perhaps with zip)
我有这个数据结构:
[((u'die', u'die'), (u'welt', u'WELT')),
((u'welt', u'WELT'), (u'ist', u'ist'))]
如何以最pythonic的方式将上面的结构转换为下面的结构?带拉链?
[((u'die', u'welt'), (u'die', u'WELT')),
((u'welt', u'ist'), (u'WELT', u'ist'))]
您可以为此使用 zip()
函数和列表理解,如 -
>>> lst = [((u'die', u'die'), (u'welt', u'WELT')),
... ((u'welt', u'WELT'), (u'ist', u'ist'))]
>>>
>>> [tuple(zip(*x)) for x in lst]
[(('die', 'welt'), ('die', 'WELT')), (('welt', 'ist'), ('WELT', 'ist'))]
我有这个数据结构:
[((u'die', u'die'), (u'welt', u'WELT')),
((u'welt', u'WELT'), (u'ist', u'ist'))]
如何以最pythonic的方式将上面的结构转换为下面的结构?带拉链?
[((u'die', u'welt'), (u'die', u'WELT')),
((u'welt', u'ist'), (u'WELT', u'ist'))]
您可以为此使用 zip()
函数和列表理解,如 -
>>> lst = [((u'die', u'die'), (u'welt', u'WELT')),
... ((u'welt', u'WELT'), (u'ist', u'ist'))]
>>>
>>> [tuple(zip(*x)) for x in lst]
[(('die', 'welt'), ('die', 'WELT')), (('welt', 'ist'), ('WELT', 'ist'))]