【问题标题】:Random numbers from set Python [duplicate]来自集合Python的随机数[重复]
【发布时间】:2021-04-01 11:11:33
【问题描述】:
set_a = {1, 2, 3, 4, 5, 6, 7, 8}

我想从set_a 中随机抽取 4 个带有 2 个数字的包裹。条件是,如果选择了一个数字,就不能再取了。

a = [1, 2]
b = [3, 4]
c = [5, 6]
d = [7, 8]

我试图通过random.sample 和列表比较来实现我的目标,但对我来说没有成功。

接下来的尝试是从带有set_a.discard()set_a.remove() 的集合中删除已经选择的数字,但这也不起作用。

【问题讨论】:

  • 将其作为一个列表洗牌,一次取两个数字

标签: python list random set


【解决方案1】:

您可以使用此示例如何打乱列表并将其分配给四个变量:

from random import shuffle

set_a = {1, 2, 3, 4, 5, 6, 7, 8}

l = [*set_a]
shuffle(l)

a, b, c, d = zip(l[::2], l[1::2])
print(a, b, c, d, sep="\n")

打印(例如):

(5, 1)
(7, 8)
(4, 2)
(6, 3)

【讨论】:

    猜你喜欢
    • 2022-10-19
    • 2019-07-27
    • 2021-10-19
    • 2012-03-26
    • 1970-01-01
    • 2016-02-01
    • 1970-01-01
    • 2019-08-09
    • 2012-10-11
    相关资源
    最近更新 更多