如何在 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
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