Python使用总结之随机返回列表元素直到列表为空

Python使用总结之随机返回列表元素直到列表为空

要实现一个不重复返回列表元素的功能,可以使用 Python 的 random 模块中的 shuffle 函数,将列表随机打乱,然后依次弹出列表中的元素。以下是一个实现该功能的示例:

import random

def get_random_elements(input_list):
    # 打乱列表顺序
    random.shuffle(input_list)
    # 依次返回列表中的元素,直到列表为空
    while input_list:
        yield input_list.pop()

# 示例列表
my_list = [1, 2, 3, 4, 5]

# 获取随机元素的生成器
random_elements = get_random_elements(my_list)

# 使用生成器获取随机元素
for element in random_elements:
    print(element)

在这个实现中:

  1. random.shuffle(input_list) 将输入列表的顺序随机打乱。
  2. while input_list: 循环在列表非空的情况下继续运行。
  3. yield input_list.pop() 每次从列表末尾弹出一个元素并返回。

这样,每次运行代码时,都会得到一个不重复随机返回元素的顺序,直到列表为空为止。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值