2015-11-24 2 views

ответ

7

Возьмите образец из подсписке, с размером образца, установленного на одной и той же длины, а затем назначить этот образец обратно в срезе:

a[1][1:4] = random.sample(a[1][1:4], 3) 

Это берет образец из трех элементов из исходного списка (создавая те же 3 элемента в случайном порядке) и присваивает эти права обратно тем же индексам.

+0

Спасибо! Это очень простой способ! –

1

Для справки, в случае, если вы хотите использовать shuffle вы можете следить за тот же подход, данное Martijn, но он требует, чтобы назначить срез на имя, так как перетасовка смешивает вещи на место

>>> s=a[1][1:4] 
>>> s 
[2, 3, 4] 
>>> shuffle(s) 
>>> s 
[4, 2, 3] 
>>> a[1][1:4] = s 
>>> a 
[[1, 2, 3, 4, 5, 6], [1, 4, 2, 3, 5, 6], [1, 2, 3, 4, 5, 6]] 
+0

Спасибо тоже! Его более полезно использовать «s» для [1] [1: 4] –

 Смежные вопросы

  • Нет связанных вопросов^_^