如何在python中将浮点列表转换为int列表

时间:2015-07-10 03:28:51

标签: python sorted

a= [6248.570994, 5282.059503, 5165.000653, 5130.795058, 5099.376451]
单步:

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'

2 个答案:

答案 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 :(得分:1)

您没有使用max的具体原因是什么? 你的陈述可能只是:

print max(int_a) * 1.2