2013-11-22 40 views
2
list1 = [1,"3",2323,"pause"] 
list2 = ["2","4","5"] 
print ",".join(list1) 
print ",".join(list2) 

對於上面的代碼,的list2的元件可以沒有任何問題地連接。但list1報告錯誤如何在Python中使用不同類型的元素連接列表?

TypeError: sequence item 0: expected string, int found 

聯接我知道join僅適用於字符串,那麼如何加入不同類型的列表的元素呢?

+0

人們提供瞭解決方案,但我想指出的 - 問題ISN 'list1'中的項目有不同的類型,但'list'中有非字符串。只能加入字符串列表中。 – pandubear

回答

7

首先將項目轉換爲字符串。

",".join(str(elem) for elem in list1) 

",".join(map(str, list1)) 
0

str.join只會在字符串列表工作。因此,將str()應用於每個元素! map()內建函數將派上用場。

嘗試自己,如果你要去的問題 - 回來;)

0

試試:

list1 = [1,"3",2323,"pause"] 
list1 = [str(item) for item in list1] 
print ",".join(list1) 
相關問題