Я новичок в Python. У меня есть 2D-массив Python [[a,b,c],[d,e,f],[g,h,j]], и я хотел бы перетасовать 3 внутренних списка, но не содержимое. Кажется, я не могу получить доступ к numpy, но думаю, что это довольно просто. shuffle, похоже, не работает для 2d-массива, поскольку он ничего не возвращает. Помогите, пожалуйста!!
Хотелось бы, например, [[d,e,f],[a,b,c],[g,h,j]] ...





Вы можете использовать функцию shuffle из random:
import random
arr = [list('abc'), list('def'), list('ghj')]
>>> arr
[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'j']]
random.shuffle(arr)
Пример вывода:
>>> arr
[['g', 'h', 'j'], ['d', 'e', 'f'], ['a', 'b', 'c']]
Или вы можете сделать то же самое с numpy.random.shuffle:
import numpy as np
arr = [list('abc'), list('def'), list('ghj')]
>>> arr
[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'j']]
np.random.shuffle(arr)
>>> arr
[['g', 'h', 'j'], ['a', 'b', 'c'], ['d', 'e', 'f']]
Спасибо, первый пример отлично работает. Непонятно, потому что я думал, что это был код, который я использовал прошлой ночью, и мне не вернули None. Я также пытался использовать Nunpy, но не мог понять, импортировать его в IDLE, так как он, казалось, не был установлен. В любом случае мой список теперь перемешан, большое спасибо.