生成随机数(Python)

本文介绍了如何使用Python生成不同类型的随机数,包括重复的无序随机整数、不重复的无序随机数及有序随机数,并提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成随机数

一 生成10个存在重复的无序随机整数;

实现代码:

import random

max = 10
my_list = [random.randint(-max, max) for x in range(max)]
print(my_list)

结果:

[1, -5, 2, 7, -10, 4, 10, -4, 2, -7]

二 生成10个0和10之间不重复的无序随机数;

实现代码

import random

my_list = list(range(10))
random.shuffle(my_list)
print(my_list)

结果

[4, 9, 1, 5, 6, 8, 7, 0, 3, 2]

三 随机生成length个有序随机数

实现代码

import random


def random_list(start, end, length):
    """随机生成start和end之间的整数"""
    data_list = []
    for i in range(length):
        data_list.append(random.randint(start, end))

    return data_list


data = random_list(1, 100, 10)
data = sorted(data)
print(data)

结果

[6, 6, 7, 22, 22, 26, 31, 68, 74, 87]
### 如何在 Python生成随机数 Python 提供了一个名为 `random` 的标准库模块,该模块包含了多种方法来生成不同类型的随机数。以下是几种常见场景下的实现方式及其对应的代码示例。 #### 1. 生成单个随机整数 如果需要生成一个指定范围内的随机整数,可以使用 `random.randint(a, b)` 方法。此方法会返回 `[a, b]` 范围内(包括 a 和 b)的一个随机整数[^1]。 ```python import random # 生成一个介于 1 到 100 的随机整数 random_integer = random.randint(1, 100) print(random_integer) ``` #### 2. 生成包含重复项的随机列表 可以通过列表推导式结合 `random.randint()` 来生成一组可能包含重复值的随机整数列表[^3]。 ```python import random max_value = 10 my_list = [random.randint(-max_value, max_value) for _ in range(max_value)] print(my_list) ``` #### 3. 生成不重复的随机列表 为了生成一组不重复的随机整数,可先创建一个连续的整数序列,再使用 `random.shuffle()` 打乱顺序。 ```python import random sequence = list(range(10)) random.shuffle(sequence) print(sequence) ``` #### 4. 生成有序的随机列表 当需要生成一组有序的随机整数时,可以在生成之后调用内置的 `sorted()` 函数对其进行排序。 ```python import random def generate_random_sorted_list(start, end, length): result = [] for _ in range(length): result.append(random.randint(start, end)) return sorted(result) data = generate_random_sorted_list(1, 100, 10) print(data) ``` #### 5. 从列表中选取随机元素 若要从已有的列表中随机抽取一个或多个元素,则可以使用 `random.choice()` 或者 `random.sample()` 方法[^2]。 ```python import random items = ['apple', 'banana', 'cherry', 'date'] selected_item = random.choice(items) print(selected_item) sampled_items = random.sample(items, 2) print(sampled_items) ``` 以上就是一些常用的基于 Python随机数生成功能以及其实现代码的例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值