如何在数字末尾过滤或删除.0
?我尝试将它们转换为整数,但列表不允许这样做。正则表达式是我最好的选择吗?我不需要用数字做任何数学运算。我只需要删除最后的.0
。
欢迎所有人。
Nums = [['17001.0', '17001.0'], ['17001.0', '11001.0'], ['17001.0', '18001.0'], ['17001.0', '19001.0'],
['14001.0', '12001.0'], ['19001.0', '18001.0'], ['19001.0', '16001.0'], ['15001.0'], ['16001.0'],
['18001.0'], ['19001.0'], ['18001.0'], ['22.0'], ['22.0'], ['22.0'], ['19001.0']]
答案 0 :(得分:1)
如果您希望list
包含integer
元素,那么这可能会对您有所帮助:
Nums = [['17001.0', '17001.0'], ['17001.0', '11001.0'], ['17001.0', '18001.0']]
a=[]
for c in Nums:
if len(c)>1:
for d in c:
a.append(int(float(d)))
else:
a.append(int(float(c)))
# a= [17001, 17001, 17001, 11001, 17001, 18001]
答案 1 :(得分:1)
我相信这是最简单的方法:
nozeros = []
for i in Nums:
nozeros.append([int(j.split('.')[0]) for j in i])
答案 2 :(得分:0)
我尝试将它们转换为整数byt list not not that that
那是完全错误的:
IntNums = []
for lst in Nums:
IntLst = []
for n in lst:
IntLst.append(int(float(n)))
IntNums.append(IntLst)
您无法将字符串转换为整数,因为它们包含“.0”后缀,但您可以先将它们转换为浮点数再转换为整数。
如果要转换列表,请使用索引进行迭代:
for i in range(len(Nums)):
for j in range(len(Nums[i])):
Nums[i][j] = int(float(Nums[i][j]))
你也可以使用列表理解:
Nums = [[int(float(n)) for n in lst] for lst in Nums]