2014-01-09 68 views
0

我想將字符串str1轉換爲數字列表,以便我可以總結它們。首先,我使用split()函數來理解str1中的數字,將字符串轉換爲列表(lista),然後使用map()函數將新列表中的字符串轉換爲整數:將一串數字轉換爲一個整數列表。 Python

str1="13,22,32,4,5" 

    str2=str1.split() 
    lista=list(str2) 

    lista=map(int,lista) 

    print sum(lista) 

出於某種原因,我得到以下錯誤信息: 「ValueError異常:無效的字面INT()基數爲10:'13,22,32,4,5' 」

回答

2

使用split()不會拆分爲str1,因爲沒有sep參數,默認分隔符是空格' '。因此:

str2 == ["13,22,32,4,5"] 

你需要指定split應該使用逗號','。實際上,您可以將您的操作合併爲一個:

sum(map(int, str1.split(','))) 
+0

我看到您在那裏做了什麼。我只是通過向分割函數括號添加(「,」)來設法完成我的工作。謝謝! –

+0

你不需要調用'lista = list(str2)'; 'split'返回一個列表,所以你可以使用'lista = str1.split(',')' – jonrsharpe

相關問題