
(為了更好地理解,我寫了串列而不是實際的串列名稱)
我正在從每行一個數字的檔案中讀取。然后我把它變成了一個list[],我做到了list.append(line.replace("\n", "").strip())
執行我寫的函式時 -list = inteles(list)
我嘗試重新啟動 vs 代碼,但它沒有作業。
uj5u.com熱心網友回復:
為什么不list.append(int(line.replace("\n", "").strip()))
uj5u.com熱心網友回復:
因為當你說 時for x in y,x你得到的不能改變x串列中實數的值。(除了修改類屬性我相信)
要解決這個問題,只需做一個串列理解:
def inteles(lista):
return [int(ele) for ele in lista]
uj5u.com熱心網友回復:
您沒有更改原始串列的值,也沒有創建新串列,您只是更改了區域變數的值(針對該函式)。如果要獲取所有字串都轉換為整數的串列,則應在函式中創建一個新串列,并將更改后的區域變數附加到該區域串列,然后回傳該區域串列。
下面是一個例子:
foist = [1, 3, "4", "72"]
def inteles(lista):
newlist = []
for sor in lista:
sor = int(sor)
newlist.append(sor)
return(newlist)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437186.html
標籤:Python python-3.x 细绳 铸件 整数
