python随机显示_小白求助:python显示随机后剩余的元素

把已经选择的元素剔除了,再做一遍 random.sample() 便可。当序列(集合)含有重复的元素时,应该使用序列下标作为 random.sample() 的参数,而不是序列本身。

请参考下面的代码

# -*- coding: utf-8 -*-

import random

team = ('1', '2', '3', '4', '5', '6', '7')

def f1():

# 方法一:(假定没有重复元素)遍历集合,将尚未选择的元素组成新集合。

r1 = random.sample(team, 3)

r2 = []

for item in team:

if item not in r1:

r2.append(item)

print('result1: %s' % random.sample(r2, 2))

def f2():

# 方法二:(假定没有重复元素)使用集合 set,计算差集。

r1 = random.sample(team, 3)

r2 = tuple(set(team) - set(r1))

print('result2: %s' % random.sample(r2, 2))

def f3():

# 方法三:(假定有重复元素)随机选择集合元素的下标,而不是元素值。

index_r1 = random.sample(range(len(team)), 3)

# r1 = [team[i] for i in index_r1]

remain_index = tuple(set(range(len(team))) - set(index_r1))

index_r2 = random.sample(remain_index, 2)

r2 = [team[i] for i in index_r2]

print('result3: %s' % r2)

if __name__ == '__main__':

f1()

f2()

f3()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值