jmi*_*mir 5 python shuffle list
例如,至于
[1 2 3 4 5 6]
Run Code Online (Sandbox Code Playgroud)
如前所述,在保持数据块(包括2个数据)的同时对数据进行混洗.我们将获得:
[3 4 1 2 5 6]
Run Code Online (Sandbox Code Playgroud)
用Python做任何方式吗?
一种直接的方法是使用以下三个步骤:
所以:
import random
# Import data
data = [1,2,3,4,5,6]
blocksize = 2
# Create blocks
blocks = [data[i:i+blocksize] for i in range(0,len(data),blocksize)]
# shuffle the blocks
random.shuffle(blocks)
# concatenate the shuffled blocks
data[:] = [b for bs in blocks for b in bs]
Run Code Online (Sandbox Code Playgroud)
如果您不想重新存储数据data,可以使用:
data = [b for bs in blocks for b in bs]
Run Code Online (Sandbox Code Playgroud)
对于这个数据,我获得了:
>>> data
[3, 4, 1, 2, 5, 6]
Run Code Online (Sandbox Code Playgroud)
第二次:
>>> data
[5, 6, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |