怎么用python生成随机的且不重复的整数?
发布网友
发布时间:2022-04-22 21:55
我来回答
共2个回答
热心网友
时间:2022-04-06 04:45
v假如你排列的是个数组{1,2,3,4,5}
列数假如也是5 也就是5*5的矩阵
然后让5个数组都随机生成 然后排序
如果两个临近数据相同或相近 这两个数据就是挨着的好像这样:
0:{1,2,3,4,5}
1:{2,3,4,5,1}
2:{2,3,5,1,4}
3:{2,3,5,1,4}
4:{2,3,5,4,1}
那么生成完之后就可以经过一次遍历 把邻近两个进行比较
如果相同就重新生成一个 或者先标记 之后再去
需要用到random模块
import random
n = random.randint(1,10)
会生成一个1到10的随机整数。
插入列表即可
[].append(n)
就好了。你可以做个循环。比如for循环,不断插就好了。
热心网友
时间:2022-04-06 06:03
一楼思路正确,但是python的random库中已经提供了现成的函数,不需要那么麻烦。
random.sample(list, n)即是从list中随机选取n个不同的元素。
楼主可以试试下面的代码。
import random
for i in range(4):
print random.sample([1, 2, 3, 4, 5, 6, 7, 8], 8)
for i in range(4):
print random.sample(range(10), 10)
for i in range(4):
print random.sample(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 7)