【发布时间】:2023-04-04 12:15:01
【问题描述】:
我想制作一个矩阵,其线是以下向量的不同排列=
[1,2,3,4,5,10,10,10,10,10]
我尝试使用 random.shuffle 函数,但似乎每次我使用它时,它都会重新定义分配给它的所有对象。例如,我尝试了以下方法:
vec=[1,2,3,4,5]
for i in range(5):
vec.append(10)
Matpreferences=[]
for i in range(10):
random.shuffle(vec)
Matpreferences.append(vec)
然后我得到一个所有行都相等的矩阵。
例如:
[0, 0, 1.0, 0, 2.0, 3.0, 0, 0.5, 2.5, 1.5, 0]
[0, 0, 1.0, 0, 2.0, 3.0, 0, 0.5, 2.5, 1.5, 0]
[0, 0, 1.0, 0, 2.0, 3.0, 0, 0.5, 2.5, 1.5, 0]
[0, 0, 1.0, 0, 2.0, 3.0, 0, 0.5, 2.5, 1.5, 0]
...
我什至尝试过类似的东西
Matpreferences=[]
for i in range(10):
random.shuffle(vec)
a=vec
Matpreferences.append(a)
但它会产生相同的结果。有什么简单的方法可以解决这个问题吗?
非常感谢您提供的任何帮助 =)
【问题讨论】:
-
非常感谢大家,所有的答案都很棒。我不精通计算机科学,所以我不知道设置 v=vec 或 v=vec[:] 会有所不同
标签:
python
matrix
random
permutation
shuffle
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python的random.shuffle有问题 - Python技术站