添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

random.sample

语法:
random.sample(list, N)

list: 一个数组,可以是元素数组,也可以是其他的数组。比如: numbers=[1,2,3,4,5]
N: 从数组中随机取出N个
例1
从数组中随机取出2个元素,代码片段如下:

import random
numbers = [1,2,3,4,5]
chosen = random.sample(numbers, 2)
print(chosen)
print(chosen[0])
print(chosen[1])

运行结果:
[4, 5]
4
5

注:数组的起始位为0

例2
python与selenium结合,做自动化测试,有时候需要实现随机获取一个元素。
比如:获取“我的订单”页面所有的订单,任意选中一个,并且查看订单详细信息。

从元素数组中随机取出1个元素,代码片段如下:

import random
from selenium import webdriver
def ChooseOneProvideRxButton(self):
    print('find all provide Rx buttons')
    buttons = self.driver.find_elements_by_xpath(self.ProvideRx_xpath)
    find_element:获取某个元素,如果根据查找条件可以找到多个满足条件的元素,那么会默认选择第一个元素
    find_elements:获取某组元素
    print('all buttons:', buttons)
    ProvideRxButton = random.sample(buttons, 1)
    print('the random choice of ProvideRx button is:', ProvideRxButton)
    ProvideRxButton.click() # 因为随机取出来的本来就是元素,所以不需要再次find_element,直接对元素执行click 操作
    print('click provide Rx button')

运行结果:

find all provide Rx buttons
all buttons: [<selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-1")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-2")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-3")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-4")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-5")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-6")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-7")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-8")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-9")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-10")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-11")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-12")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-13")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-14")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-15")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-16")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-17")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-18")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-19")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-20")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-21")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-22")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-23")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-24")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-25")>, <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-26")>]
the random choice of ProvideRx button is  <selenium.webdriver.remote.webelement.WebElement (session="94021498b64fe386d271daf3a11ffe91", element="0.9159857526812423-19")>
click provide Rx button

random.choice

语法:
random.choice(list)

从list 数组中随机获取一个元素

import random
numbers = [1,2,3,4,5]
chosen = random.choice(numbers)
print(chosen)

运行结果:
1

同理,这个也可以用于自动化测试中获取任一一个页面元素

random.randint

语法:
random.randint(N, M)

N: 起始数
M: 终止数
从N到M随机取出一个数

import random
chosen = random.randint(2,6)
print(chosen)

运行结果:
5

本文主要讲python 利用random取随机数的方法三种方法random.sample()random.choice()random.randint()random.sample语法: random.sample(list, N)list: 一个数组,可以是元素数组,也可以是其他的数组。比如: numbers=[1,2,3,4,5] N: 从数组中随机取...
python 在一个范围内 随机数 方法 : 可以利用random.uniform()函 来实现。 random.uniform()函 用于生成一个指定范围内的 随机 浮点 ,如:【random.uniform(10, 20)】。 random.randint(a, b),用于生成一个指定范围内的整 。其中参 a是下限,参 b是上限,生成的 随机数 n: a <= n <= b。 代码示例: print random.randint(12, 20)  # 生成的 随机数 n: 12 <= n <= 20 print random.randint(20, 20)  # 结果永远是20      # prin
(1) 随机 random.random() , 随机 一个( 0-1)之间的 随机 random.uniform(a,b) , 随机 一个(a-b)之间的 随机 import random print(random.random()) print(random.uniform(1,2)) #输出结果: #0.5197468585617347 #1.8517038679031552 (2) 随机 random.randint(1,3) , 随机 一个[1-3]的整 ,包含1和3 random.randrange(5) , 随机 一个
利用oracle的dbms_random包结合rownum来实现,示例如下, 随机 499户: select * from ( select * from busi.t_ar_userinfo order by dbms_random.value) where rownum < 500; 有关dbms_random的参考文献,链接为:http://www.psoug.org/reference/dbms_random.html Deprecated. Use the methods in the DBMS_CRYPTO built-in package,这个包已经不建议使用了 附,dbms_ra
为了帮助理解,先来看三类 随机 问题的对比: 1.已有n条记录,从中选 m条记录,选 出来的记录前后顺序不管。 实现思路:按行遍历所有记录,约隔n/m条 一个 据即可 2.在1类情况下,还要求选 出来的m条记录是 随机 排序的 实现思路: 给n条记录,分别增加一列标记,值为 随机 的1至n之间的不重复 据。 3.区别于1,2类问题, 如果记录是有权重的,如何结合权重去 随机 。 比如A的权重为10, B的权重股为5, C的权重为1, 则 随机 4个时可能应该出现AABB。 第3类问题便是本文重点了。 实现思路: 以 A:10, B:5, C:1 三条记录上 随机 4条为例,(是否以权重 b = random.sample(a, 5) 以上这篇 python 随机 list中的元素 方法 就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章: Python 实现基于权重的 随机数 2种 方法 TensorFlow中权重的 随机 初始化的 方法 Python 利用带权重 随机数 解决抽奖和游戏爆装备问题 Python random模块(获 随机数 )常用 方法 和使用例子P import random data = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] random.choice(data) # 随机 一个元素 2. 从一个lis... random.randint(a,b) 在 python 中的random.randint(a,b)用于生成一个指定范围内的整 。其中参 a是下限,参 b是上限,生成的 随机数 n: a <= n <= b。 下限必须小于等于上限,大于上限报错。 random.randint(1,50)# 随机 生成最小值为1,最大值为50的整 (可以等于上下限) random.randint(20, # 生成100个1-1000负指 分布的 随机数 nums = np.random.exponential(scale=100, size=100) nums = 1/nums * 1000 # 将 随机数 转换为1-1000的范围 print(nums) 解释一下代码: 1. 首先导入numpy库。 2. 使用`np.random.exponential(scale=100, size=100)`函 生成100个负指 分布的 随机数 ,其中`scale`参 表示指 分布的尺度参 ,这里设置为100,`size`参 表示生成的 随机数 ,这里设置为100。 3. 接着将生成的 随机数 转换为1-1000的范围, 方法 是将每个 随机数 再乘以1000。 4. 最后输出生成的 随机数 。 注意:负指 分布的 随机数 是连续的实 ,所以生成的 随机数 可能会超过1000或小于1,但这种情况出现的概率非常小。