[英]How can a two-column Python list be shuffled?
随机整理Python列表很简单:
>>> import random
>>> random.seed(100)
>>> a = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(a)
>>> a
[7, 1, 5, 6, 4, 3, 2]
两列Python列表如何改组?
因此,具体地说,我列出了以下代表性表格:
[
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
1
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
2
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
3
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
4
],
# ... etc.
]
您可以想象这是一种数据形式,它在一个列中捕获了事件的三个特征(三个高精度数字),而在第二列中具有了事件编号。
我想对这个两列的列表进行混洗,以便对具有相应事件编号的事件进行混洗。 请注意,我不想改组事件特征列表。 因此,在此示例中,改组的结果可能如下:
[
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
3
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
4
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
1
],
[
0.121282446303956,
2.1595318494748978,
0.43386778589085612
],
[
2
],
# ... etc.
]
您可以看到事件的顺序已从1,2,3,4更改为3,4,1,2。
什么是进行这种洗牌的好方法?
numpy允许就地改组数组切片。
import numpy as np
a = np.array(a)
np.random.shuffle(a[1::2])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.