我想看看是否有更好的方法来执行以下操作:
我有一个字符串列表,实际上可能是浮点数、字母和其他字符,如“-”和“*”:
mylist = ["34.59","0.32","-","39.29","E","0.13","*"]
我要创建一个新列表,它遍历 mylist 并检查一个项目是否大于 0.50,如果是,则该项目应四舍五入到最接近的整数,如果不是,则应将其单独保留并附加到新名单。
这是我所拥有的,这是可行的,但我想知道是否有更好的方法:
for item in mylist:
try:
num = float(item)
if num > 0.50:
newlist.append(str(int(round(num))))
else:
newlist.append(item)
except ValueError:
newlist.append(item)
print newlist
输出:
['35', '0.32', '-', '39', 'E', '0.13', '*']
你们看什么?