Немогу понять почему возвращаются не перемешанные списки, а три None
Вот код
from random import shuffle
lst_in = ['1 2 3 4', '5 6 7 8', '9 8 6 7']
lst_in = [shuffle(i.split()) for i in lst_in]
Ответы (1 шт):
Автор решения: denisnumb
→ Ссылка
Потому что функция shuffle ничего не возвращает. Она только изменяет переданный ей список, т.к. список — ссылочный тип данных
Так что для получения ожидаемого результата, вам просто не нужно перезаписывать список в переменную lst_in.
Вот так:
from random import shuffle
lst_in = [i.split() for i in ['1 2 3 4', '5 6 7 8', '9 8 6 7']]
for i in lst_in:
shuffle(i)
Или также, через генератор, но без записи в переменную
[shuffle(i) for i in lst_in]