首页 > 编程语言 >python之常用标准库-random

python之常用标准库-random

时间:2024-01-26 17:11:06浏览次数:35  
标签:常用 python self random sample range def

1.random

def random(self):
"""Get the next random number in the range [0.0, 1.0)."""
return (int.from_bytes(_urandom(7), 'big') >> 3) * RECIP_BPF
翻译:获取0,1之间的随机浮点数
1 #!/usr/bin/python
2 import random
3 print(random.random())#返回随机生成的一个浮点数,范围在[0,1]之间
View Code

2.uniform

def uniform(self, a, b):
"Get a random number in the range [a, b) or [a, b] depending on rounding."
return a + (b - a) * self.random()
翻译:获取在[a,b]之间的随机浮点数
1 #!/usr/bin/python
2 import random
3 print(random.uniform(1,2))#返回随机生成的一个浮点数,范围在[a,b]之间
View Code

3.randint

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""

return self.randrange(a, b+1)
翻译:返回[a,b]之间的整数,两边都包含
1 #!/usr/bin/python
2 import random
3 print(random.randint(1,9))#返回随机生成的一个整数,范围在[a,b]之间
View Code

4.randrange

def randrange(self, start, stop=None, step=1):
"""Choose a random item from range(start, stop[, step]).

This fixes the problem with randint() which includes the
endpoint; in Python this is usually not what you want.

"""
翻译:返回一个随机目标在范围range(star,stop,step) 中,
则修复了在randint()中包含最后一位的问题,在python中不是你常见的
1 #!/usr/bin/python
2 import random
3 print(random.randrange(1,10,2))#返回随机生成的一个整数,范围在[a,b]之间,步长为2的随机数
View Code

5.shuffle

def shuffle(self, x, random=None):
"""Shuffle list x in place, and return None.

Optional argument random is a 0-argument function returning a
random float in [0.0, 1.0); if it is the default None, the
standard random.random will be used.

"""
翻译:打乱列表的顺序,返回None
可选参数random是0函数返回在[0.0,1.0]之间的浮点数,如果是默认None,则使用标准random,random
1 #!/usr/bin/python
2 import random
3 x=[1,2,3,4,5]
4 random.shuffle(x)#用于将列表中元素打乱
5 print(x)
View Code

6.sample

def sample(self, population, k, *, counts=None):
"""Chooses k unique random elements from a population sequence or set.

Returns a new list containing elements from the population while
leaving the original population unchanged. The resulting list is
in selection order so that all sub-slices will also be valid random
samples. This allows raffle winners (the sample) to be partitioned
into grand prize and second place winners (the subslices).

Members of the population need not be hashable or unique. If the
population contains repeats, then each occurrence is a possible
selection in the sample.

Repeated elements can be specified one at a time or with the optional
counts parameter. For example:

sample(['red', 'blue'], counts=[4, 2], k=5)

is equivalent to:

sample(['red', 'red', 'red', 'red', 'blue', 'blue'], k=5)

To choose a sample from a range of integers, use range() for the
population argument. This is especially fast and space efficient
for sampling from a large population:

sample(range(10000000), 60)

"""
翻译:从总序列或集合中选择k个唯一或随机元素,返回一个新的列表包含从总列表来的元素,原始的未改变。
结果的列表是按选择顺序如此那么所有子集是有效的随机数。
列表中的成员不需要可hash或唯一,如果总列表包含重复数据,那么每个发生的可选的都在sample里面,
重复元素可以表指定一个或一次用参数counts比如sample(['red','blue'],counts=[4,2],k=5)
相当于sample(['red','red','red','red','blue','blue'],k=5)
1 #!/usr/bin/python
2 import random
3 #!/usr/bin/python
4 import random
5 print(random.sample(x,3))#在指定序列中获取指定长度的值,不改变原有序列
View Code

7.seed

def seed(self, *args, **kwds):
"Stub method. Not used for a system random number generator."
return None
翻译:种子,标准的方法,对一个系统随机数生成器来说没用
在定义相同种子数时,返回的随机数一致,但是只用于seed调用下一行随机代码
 1 #!/usr/bin/python
 2 import random
 3 def random_test():
 4     random.seed(3)  # 设置随机数一致的情况数
 5     for i in range(3):
 6         print(random.random())
 7 random_test()
 8 
 9 def random_test1():
10     random.seed(3)  # 设置随机数一致的情况数
11     for i in range(3):
12         print(random.random())
13 random_test1()
View Code

8.choice

def choice(self, seq):
"""Choose a random element from a non-empty sequence."""
# raises IndexError if seq is empty
return seq[self._randbelow(len(seq))]
翻译:选择从不为空的序列中选择随机元素,如果序列为空,则抛出异常IndexError
1 #!/usr/bin/python
2 import random
3 print(random.choice([1,2,3]))
View Code

9.choices

def choices(self, population, weights=None, *, cum_weights=None, k=1):
"""Return a k sized list of population elements chosen with replacement.

If the relative weights or cumulative weights are not specified,
the selections are made with equal probability.

"""
翻译:在所有元素中选择k个列表来替代
如果相关权重没指定,则返回机率都一样
1 #!/usr/bin/python
2 import random
3 def random_test():
4     for i in range(3):
5         print(random.choices([2,3,4,5],weights=[1,1,2,3],k=3))
6 
7 random_test()
View Code

标签:常用,python,self,random,sample,range,def
From: https://www.cnblogs.com/Little-Girl/p/17989803

相关文章

  • Python中为何使用新语法而不是装饰器来实现async/await异步功能
    Python是一种多范式编程语言,通过引入新的语法和特性,不断提升其功能和灵活性。在异步编程领域,Python引入了async/await关键字来实现协程和异步操作,而不是使用已有的装饰器语法。本文将探讨为何Python选择引入新语法来实现async/await异步功能,以及与装饰器的区别和优势。一、理解异步......
  • 在 Python 中如何实现列表元素去重
    在日常的Python编程中,我们经常需要对列表进行去重操作,以便保证程序的正确性和效率。Python提供了多种方法来实现列表元素去重,本文将介绍其中的四种方法。一、使用set()函数set()函数是Python内置的去重函数,它可以使列表中的元素不重复,并将其转换为集合类型,最后再转换回列表类型。具......
  • 使用 Python 的 Paramiko 库实现远程文件复制
    本文将介绍如何使用Paramiko库在Python中实现远程访问并复制文件到本地。Paramiko是一个用于SSHv2协议的Python实现,它提供了简单而强大的功能来进行远程操作。我们将学习如何建立SSH连接、执行远程命令以及复制文件到本地。一、安装Paramiko首先,我们需要安装Paramiko库。可以使用pi......
  • Python 多线程的局限性及适用场景解析
     Python是一门功能强大且广泛应用的编程语言,然而在使用多线程方面,它存在一些局限性。本文将探讨Python多线程的局限性,并分析其适用场景,帮助读者更好地理解Python多线程的实际运用。 正文: 一、Python的全局解释器锁(GIL) Python的全局解释器锁(GlobalInterpreterLock,简称GIL)是P......
  • itop-RK3588开发板机器视觉开发OpenCV-Python的安装
    由于 iTOP-RK3588 编译安卓和 Linux 源码使用的 ubuntu 版本为 ubuntu20.04,为了方便和统一,本手册的实验环境也为 Ubuntu20.04,如果使用的是其他版本的 ubuntu。可能会存在一些细微的区别,建议大家所使用的 ubuntu 版本和我们保持一致。使用以下命令安装 OpenCV-Python,安......
  • itop-RK3588开发板机器视觉开发OpenCV-Python的安装
    由于 iTOP-RK3588 编译安卓和 Linux 源码使用的 ubuntu 版本为 ubuntu20.04,为了方便和统一,本手册的实验环境也为 Ubuntu20.04,如果使用的是其他版本的 ubuntu。可能会存在一些细微的区别,建议大家所使用的 ubuntu 版本和我们保持一致。使用以下命令安装 OpenC......
  • Python3 md5
    Python3md5MD5信息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信息传输完整一致。在python3的标准库中,已经移除了md5模块,而关于hash加密算法都放在hashlib这个标准库中,hashlib提供了常见的摘要......
  • python之常用标准库-时间
    1.time时间戳:它代表了从格林尼治时间1970年01月01日00时00分00秒(即北京时间的1970年01月01日08时00分00秒)开始到现在经过的总秒数。struct_time:用一个包含9个序列的元组组成(tm_year=2024,tm_mon=1,tm_mday=26,tm_hour=2,tm_min=49,tm_sec=56,tm_wday=4,tm_yday=26,......
  • python 1
    importmathdeflcm(a,b):print('最大公约数math.gcd({},{})'.format(a,b),math.gcd(a,b))returna*b//math.gcd(a,b)deflcm_range(n):lcm_value=1foriinrange(2,n+1):lcm_value=lcm(lcm_value,i)returnl......
  • kafka常用命令
    mac本地安装kafkabrewinstallkafka启动zookeeper、kafkabrewservicesstartzookeeperbrewservicesstartkafka创建一个topickafka-topics--create--bootstrap-serverlocalhost:9092--replication-factor1--partitions3--topictest_1创建一个生产者produce......