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

How to convert float list to int list in python

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'

问题好像是

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

您没有使用 max 的具体原因是什么? 你的声明可以简单地是:

print max(int_a) * 1.2