python - 如何在 Python 中打乱多维列表

标签 python arrays list shuffle

我知道如何使用随机库 shuffle(myList) 中的随机播放函数在 Python 中随机播放一个简单的列表

但是我该如何打乱多维列表呢?

myList[][]

shuffle(myList) 无效。

最佳答案

您必须打乱顶级列表,然后您可以将 shuffle 函数映射到 Python 2 中的子列表,就像这样

from random import shuffle 

foo = []
foo.append([1, 2, 3])
foo.append([4, 5, 6])
foo.append([7, 8, 9])

shuffle(foo)
map(shuffle, foo)

print foo

See python 2 fiddle

在 python 3 中就像这样

from random import shuffle 

foo = []
foo.append([1, 2, 3])
foo.append([4, 5, 6])
foo.append([7, 8, 9])

shuffle(foo)
for ii, sublist in enumerate(foo): 
    shuffle(foo[ii])

print(foo)

see python 3 fiddle

关于python - 如何在 Python 中打乱多维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27337784/

相关文章:

javascript - PHP 脚本 json_encode mysql 请求无法传递给 getJSON()

javascript - 使用 map 函数 div 到数组中

java - 对列表中的所有属性值求和

python - 如何使用 Python Pandas ExcelWriter 将单元格颜色添加到单元格范围?

Python 相当于 C++ __LINE__

python - 如何使用正则表达式将单词与撇号匹配

python - 在 3 个相等和的列表中查找列表分割的 2 个索引的可能性

python - for 循环不正确循环

java - 从递归方法中删除输入

r - 在 R 中加入参差不齐的数组