一次性输出多个浮点型变量时因为小数长度过多,会导致信息不够明确,逐个变量取整工作量过多,因此创建一个方法一次性取整,在博客上记录批量取整方法
def round_print(*strs): arr=[] for s in strs: if isinstance(s,float):#对浮点数保留两位小数 s=round(s,2) elif isinstance(s,list):#递归遍历数组 tmp=[] for s_ in s: tmp.append(round_print(s_)) s=list(tmp) elif isinstance(s,tuple):#递归遍历元组 tmp=[] for s_ in s: tmp.append(round_print(s_)) s=tuple(tmp) elif isinstance(s,set):#递归遍历集合 tmp=[] for s_ in s: tmp.append(round_print(s_)) s=set(tmp) arr.append(s) if len(arr)>1:#如果是多个输入则返回数组 return arr else:#如果是单个输入,则返回第一个元素 return arr[0]使用前效果:print(list1)
使用后效果:print(round_print(list2))
特别说明,如果传入的是numpy数组,则使用.tolist()方法将其转化为python原生数组,使用示例:
nparr=np.random.uniform(0,20)
print(round_print(nparr.tolist()))