2014-03-01 134 views
1

我有這個元組列表;將字符串添加到元組列表中的每個元組的末尾

List = [('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')] 

我想添加一個字符串到此列表中的每個元組的末尾。它看起來像這樣;

OutputList = [('1', 'John', '129', '37', 'TestStr'), ('2', 'Tom', '231', '23', 'TestStr')] 

我試過OutputList = [xs + tuple('TestStr',) for xs in List ]但它沒有解決。解決這個問題的正確方法是什麼?

我使用Python 2.7

回答

5

如果你想有一個1元的元組,這是('TestStr',),不tuple('TestStr',)

OutputList = [xs + ('TestStr',) for xs in List] 

tuple('TestStr',)相同tuple('TestStr'),因爲尾隨逗號在函數調用忽略。 tuple('TestStr')'TestStr'視爲一個迭代器,並構建一個包含字符串字符的元組。

3

只需卸下tuple部分:

OutputList = [xs + ('TestStr',) for xs in List] 

你並不需要在tuple()調用這裏,你是不是一個類型轉換爲一個元組,所有你需要的這裏是一個元組文字。

演示:

>>> List = [('1', 'John', '129', '37'), ('2', 'Tom', '231', '23')] 
>>> [xs + ('TestStr',) for xs in List] 
[('1', 'John', '129', '37', 'TestStr'), ('2', 'Tom', '231', '23', 'TestStr')] 
相關問題