加入元组元素 - 列表理解

时间:2013-03-10 09:14:22

标签: python python-2.7

我们有:

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例外。

我很抱歉再次询问类似的问题,但列表理解对我来说是一个很新的概念,但如果我做对了上面我将完成我的程序,所以我太急于研究整个文档现在的主题。

0 个答案:

没有答案