2014-01-21 30 views
1

這可能是一個愚蠢的問題,但我無法弄清楚如何去做(或者甚至可能)。將字符串元素作爲整數指定爲單行中的變量

我有一個看起來像這樣的列表:

a = ['32132', '654654', '89765464'] 

,我想每個元素三個變量在一行中指定爲整數。我試了平凡:

var1, var2, var3 = int(i) for i in a 

但這似乎並不奏效。

完全可以這樣做,還是我不得不使用如下所示的for循環? (對於i在INT(i))的VAR1,VAR2,VAR3 =:

vars = [] 
for i in a: 
    vars.append(int(i)) 
var1, var2, var3 = vars 
+1

你錯過()周圍的表達或var1,var2,var3 = map(int,a) – AlvaroAV

+1

@zhangxaochen說'int(i)對於我自己而言是一種語法錯誤,但它是一個正確的'list compression'[] /'generator'()表達式這樣做。 –

回答

5

在右手側添加()[]

In [14]: var1, var2, var3 = (int(i) for i in a) 

In [15]: var1, var2, var3 
Out[15]: (32132, 654654, 89765464) 
+0

這很奇怪,我可以發誓我至少用'[]'試過,並且無法使它工作。這當然是完美的。謝謝! – Gabriel

+1

@Gabriel,很高興幫忙〜順便說一句,貼上你試過的問題的回溯總是會更好;) – zhangxaochen

2
>>> a = ['32132', '654654', '89765464'] 
>>> var1, var2, var3 = map(int,a) 
>>> var1, var2, var3 
(32132, 654654, 89765464) 
+0

爲什麼downvote? – Rhand

+0

不是我的,我從來沒有downvote。解釋爲什麼這樣做會讓人感到不快。 – Gabriel

+0

@Rhand可能會有人不行圖(),但我喜歡小代碼 –

相關問題