2015-07-10 98 views
1
a= [6248.570994, 5282.059503, 5165.000653, 5130.795058, 5099.376451] 

一個辦法:如何轉換浮動名單蟒蛇爲int列表

a=map(int, a) 

的其他方式:

int_a=[] 
for intt in a: 
    int_a.append(int(intt)) 

以上幾種方式可以打印正確的答案,但是當我要排序的我遇到問題:

maxx=sorted(int_a,reverse=True)[:1]*1.2 
print maxx 

TypeError: can't multiply sequence by non-int of type 'float' 
+0

這是您使用 – felipsmartins

+0

哪個版本的Python對我的作品? – NightShadeQueen

+0

你可以把完整的追溯? –

回答

3

問題似乎是

maxx=sorted(int_a,reverse=True)[:1]*1.2 
print maxx 

...產生一個列表,而不是一個整數,你不能用一個浮點數相乘的列表。爲了獲得1.2倍使用此代碼列表中的最大元素,下面將工作:

maxx=sorted(int_a,reverse=True)[0]*1.2 
print maxx 

...雖然這將是更有效地使用:

maxx=max(int_a)*1.2 
print maxx 
+1

這修正了'TypeError'和工作,但找到最大的元素乘以1.2它會做更多的意義去做'max(int_a)* 1.2' –

+0

我同意'max(int_a)'會更好,如果目標是找到最大元素乘以1.2。 – Simon

+0

我誤解了名單和號碼。想了很多。 –

1

任何具體的原因,你沒有使用max? 它的聲明可能僅僅是:

print max(int_a) * 1.2