Python常用数字处理基本操作汇总
一些基本的操作,在工作者遇到相关问题要有相关印象。
一、你想对浮点数执行指定精度的舍入运算
对于简单的舍入运算,使用内置的round(value,ndigits)函数即可。比如:
>>>round(1.23,1)
1.2
>>>round(1.27,1)
1.3
>>>round(-1.27,1)
-1.3
>>>round(1.25361,3)
1.254
>>>
当一个值刚好在两个边界的中间的时候,round函数返回离它最近的偶数。也就是说,对1.5或者2.5的舍入运算都会得到2。
传给round()函数的ndigits参数可以是负数,这种情况下,舍入运算会作用在十位、百位、千位等上面。比如:
>>>a=1627731
>>>round(a,-1)
1627730
>>>round(a,-2)
1627700
>>>round(a,-3)
1628000
>>>
不要将舍入和格式化输出搞混淆了。如果你的目的只是简单的输出一定宽度的数,你不需要使用round()函数。而仅仅只需要在格式化的时候指定精度即可。比如:
>>>x=1.23456
>>>format(x,'0.2f')
'1.23'
>>>format(x,'0.3f')
'1.235'
>>>'valueis{:0.3f}'.format(x)
'valueis1.235'
>>>
二、进制转化
为了将整数转换为二进制、八进制或十六进制的文本串,可以分别使用bin(),oct()或hex()函数:
>>>x=1234
>>>bin(x)
'0b10011010010'
>>>oct(x)
'0o2322'
>>>hex(x)
'0x4d2'
>>>
为了以不同的进制转换整数字符串,简单的使用带有进制的int()函数即可:
>>>int('4d2',16)
1234
>>>int('10011010010',2)
1234
>>>
三、分数相关运算
>>>fromfractionsimportFraction
>>>a=Fraction(5,4)
>>>b=Fraction(7,16)
>>>print(a+b)
27/16
>>>print(a*b)
35/64>>>#Gettingnumerator/denominator
>>>c=a*b
>>>c.numerator
35
>>>c.denominator
64>>>#Convertingtoafloat
>>>float(c)
0.546875>>>#Limitingthedenominatorofavalue
>>>print(c.limit_denominator(8))
4/7>>>#Convertingafloattoafraction
>>>x=3.75
>>>y=Fraction(*x.as_integer_ratio())
>>>y
Fraction(15,4)
>>>
四、random模块
random模块有大量的函数用来产生随机数和随机选择元素。比如,要想从一个序列中随机的抽取一个元素,可以使用random.choice():
>>>importrandom
>>>values=[1,2,3,4,5,6]
>>>random.choice(values)
2
>>>random.choice(values)
3
>>>random.choice(values)
1
>>>random.choice(values)
4
>>>random.choice(values)
6
>>>
为了提取出N个不同元素的样本用来做进一步的操作,可以使用random.sample():
>>>random.sample(values,2)
[6,2]
>>>random.sample(values,2)
[4,3]
>>>random.sample(values,3)
[4,3,1]
>>>random.sample(values,3)
[5,4,1]
>>>
如果你仅仅只是想打乱序列中元素的顺序,可以使用random.shuffle():
>>>random.shuffle(values)
>>>values
[2,4,6,5,3,1]
>>>random.shuffle(values)
>>>values
[3,5,2,1,6,4]
>>>
生成随机整数,请使用random.randint():
>>>random.randint(0,10)
2
>>>random.randint(0,10)
5
>>>random.randint(0,10)
0
>>>random.randint(0,10)
7
>>>random.randint(0,10)
10
>>>random.randint(0,10)
3
>>>
为了生成0到1范围内均匀分布的浮点数,使用random.random():
>>>random.random()
0.9406677561675867
>>>random.random()
0.133129581343897
>>>random.random()
0.4144991136919316
>>>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。