品易云推流 关闭
文章详情页
文章 > Python基础教程 > python中如何使用permutation()方法洗牌?

python中如何使用permutation()方法洗牌?

头像

宋雪维

2021-02-20 11:29:485480浏览 · 0收藏 · 0评论

在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()方法洗牌的原理及具体实例,希望能对你有所帮助哟~

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图