2011-12-07 165 views
4

其實很簡單的問題,單引號: 我有一個Python列表,如:取下蟒蛇列表項

['1','2','3','4'] 

只是想知道怎樣可以去除那些單引號? 我想[1,2,3,4]

+0

你想打開字符串列表爲整數的列表?要做到這一點,只需使用'[int(x)for your_list中的x]' –

+0

[如何將字符串數字轉換爲列表中的整數](http://stackoverflow.com/questions/818949/how-to -convert-strings-numbers-to-integers-in-a-list) –

+3

請注意,這不僅僅是去掉引號,而是將字符串列表更改爲整數列表。如果你不清楚差異,那麼你應該閱讀關於Python的類型系統。 –

回答

18

在列表中的值目前都是字符串,你希望他們爲整數,這裏有兩個最簡單的方法可以做到這一點:

map(int, your_list) 

[int(value) for value in your_list] 

有關更多信息,請參閱關於map()list comprehensions的文檔。

如果你想留在你的列表中的項目爲字符串,但沒有單引號顯示出來,你可以使用以下命令:

print('[' + ', '.join(your_list) + ']') 
+2

如果'地圖'+1。它使事情變得可讀。 – Blender

+1

顯示如何在不使用引號的情況下進行打印,而不是將列表元素轉換爲整數。 –

4

試試這個

[int(x) for x in ['1','2','3','4']] 
[1, 2, 3, 4] 

,併爲了穩妥起見,你可以嘗試

[int(x) if type(x) is str else None for x in ['1','2','3','4']] 
+0

這是不安全的IMO它不拋出異常,當它應該 –

+0

如果列表包含字符串'a','b','c','d' – XciA

5

如果這是一個實際的Python列表,並希望int S的不是字符串,你可以:

map(int, ['1','2','3','4']) 

or

[int(x) for x in ['1','2','3','4']]