我们有:
lst = [('543', 'Tom', '- Jerry'), ('544', 'X-man - ', 'Hulk')]`
lst = [h+a for n,h,a in lst]
lst =[name.split(' - ') for name in lst]
我想首先,将每个元组中的[1]
和[2]
元素加在一起并将它们拆分为-
拆分代码将起作用,但列表理解加入它们不会。
我们希望最终输出为:
[('534', 'Tom, 'Jerry'), ('544', 'X-man', 'Hulk')]
使用上面的代码我们只得到:
[('Tom, 'Jerry'), ('X-man', 'Hulk')]
@EDIT
我有另一个问题:
有时我的元组只包含2个这样的项目(第二元组):
[('534', 'Tom, 'Jerry'), ('544', 'X-man - Hulk')]
我想摆脱-
所以从下面的列表理解我想出了这个修改版本:
lst = [tuple(i.split(' - ') if len(tup) == 2 else tuple(i.strip(' - ') for i in tup) for tup in lst]
,但会引发invalid syntax
例外。
我很抱歉再次询问类似的问题,但列表理解对我来说是一个很新的概念,但如果我做对了上面我将完成我的程序,所以我太急于研究整个文档现在的主题。