在python中设计洗牌中,
shuffle方法会直接在原来的数组上进行操作,改变原来数组的顺序,如果想要
不直接在原来的数组上进行操作,就要使用
permutation()方法,会
返回一个新的打乱顺序的数组,并不改变原来的数组。本文介绍
python中使用permutation()方法洗牌的原理及具体实例。
1、permutation()方法
随机排列一个序列,或者返回一个排列的范围。
如果 x 是一个多维数组,它只会沿着它的第一个索引被打乱。
2、语法格式
numpy.random.permutation(x)
3、参数
x : 整数或者数组
如果 x 是整数,则随机化 np.arange(x)。如果 x 是一个数组,复制它,然后打乱它的元素。
4、返回值
返回一个新的打乱顺序的数组,并不改变原来的数组。
5、使用实例
print(rng.permutation(10)) # 随机排列0-9的数组
print(rng.permutation(np.arange(10))) #同上
# [7 8 6 0 2 1 9 3 4 5]
# [0 5 7 2 8 6 4 3 9 1]
arr = np.arange(9).reshape((3, 3))
print(arr)
print(rng.permutation(arr)) # 只影响最外层的顺序
print(arr)
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
# [[3 4 5]
# [6 7 8]
# [0 1 2]]
# [[0 1 2]
# [3 4 5]
# [6 7 8]]
以上就是python中使用permutation()方法洗牌的原理和具体例子,希望对大家有所帮助~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python获取当前时间和日期的方法有哪些?08/15
- ♥ python如何访问私有方法10/26
- ♥ 如何自定义python请求头?12/05
- ♥ 如何卸载低版本的python08/29
- ♥ python如何去掉注释代码10/02
- ♥ python如何用while循环打印九九乘法表?08/24
内容反馈