簡體   English   中英

連接元組元素-列表理解

[英]Joining tuple elements - list comprehension

我們有這個:

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')]

@編輯

我還有另一個問題:有時我的元組只包含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] -因此從下面的列表理解中我lst = [tuple(i.split(' - ') if len(tup) == 2 else tuple(i.strip(' - ') for i in tup) for tup in lst]了這個修改后的版本: lst = [tuple(i.split(' - ') if len(tup) == 2 else tuple(i.strip(' - ') for i in tup) for tup in lst] ,則會引發invalid syntax異常。

抱歉,我再次詢問類似的問題,但是列表理解對我來說是一個新概念,但是如果我做到以上幾點,我將完成我的程序,所以我太耐心了,無法立即研究有關該主題的整個文檔。

也許我錯了,但是您真的只想去除空格和'-'嗎?

In [15]: lst = [('543', 'Tom', '- Jerry'), ('544', 'X-man - ', 'Hulk')]

In [16]: [tuple(i.strip(' -') for i in tup) for tup in lst]
Out[16]: [('543', 'Tom', 'Jerry'), ('544', 'X-man', 'Hulk')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM