生成随机数并将它们放入一组[重复]

Posted

技术标签:

【中文标题】生成随机数并将它们放入一组[重复]【英文标题】:Generate random numbers and put them into a set [duplicate] 【发布时间】:2020-07-16 00:18:57 【问题描述】:

我正在尝试生成随机数并将它们放入一个集合中。 我决定使用 for 循环和范围函数:

for x in range(0, 21, 1):
    print(x)

现在我想把所有的数字放到一个集合中。我正在使用以下代码:

x_set = set(str((x)))
print(x_set)

不幸的是结果是:

'0', '2'

我想将所有数字放入一组 (1 - 20)。我究竟做错了什么?

我不是在寻找现成的答案。请告诉我要遵循的方法。

【问题讨论】:

您只需使用set 构造函数添加已拆分为0 和2 的最后一个数字20,在循环中使用add 方法,查看我评论中的链接放 能否正确格式化代码?这些行 x_set = set(str((x))) 等是否在循环内? set(range(21)) 将从 [0,21) 创建一个列表并将其转换为一个集合 set(range(21)) @Chrispresso 请注意,set 接受任何可迭代对象,因此无需构造中间列表。 set(range(21)) 可以。 【参考方案1】:

您正在打印数字,您必须执行以下操作:

x_set = set()
for x in range(0, 21, 1):
    x_set.add(x)

【讨论】:

或更简单的set(range(21))

以上是关于生成随机数并将它们放入一组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java 一次生成一个无重复随机

C# Random 生成不重复随机数

论 Java 中获取一组不重复的随机数之性能问题

随机生成一组不重复的随机数组

C# Random 生成不重复随机数

创建无重复的随机数序列