Python:拆分多维列表

Zer*_*ero 1 python unicode split list

我有一个列表的形式

[(u'a1', u'b1'),
 (u'a1', u'b2'),
 (u'c1', u'c2')]
Run Code Online (Sandbox Code Playgroud)

我希望它可以分为两个列表/列

list1          list2    
[(u'a1',       [(u'b1'),
 (u'a1',       (u'b2'),
 (u'c1')]       (u'c2')]
Run Code Online (Sandbox Code Playgroud)

unicode转换为字符串也会有所帮助!

另外,在另一种情况下,我有以列表的形式列出

[(('a', 'c'), -3), (('a', 'd'), -7), (('c', 'd'), -4)]
Run Code Online (Sandbox Code Playgroud)

我需要输入的形式

('a','a','c')
('c','d','d')
(-3,-7,-4)
Run Code Online (Sandbox Code Playgroud)

有小费吗?

Chr*_*our 5

您可以使用列表理解创建两个新列表:

x=[(u'a1', u'b1'),
 (u'a1', u'b2'),
 (u'c1', u'c2')]

list1 = [i[0] for i in x]

list2 = [i[1] for i in x]
Run Code Online (Sandbox Code Playgroud)