У меня есть переменная, определенная как x, и я прошу код извлечь значение из списка по индексу x.
После перетасовки списка и запроса на получение значения из индекса x он извлекает значение из исходного списка вместо недавно перетасованный список.
Я уверен, что упускаю что-то довольно очевидное в том, как перетасовывается список. Первоначально я предполагал, что это потому, что он генерирует новый список при перетасовке вместо фактического изменения исходного списка. Однако при печати исходного значения списка оно отображается как перетасованный список, а не как исходный, что означает, что исходный список фактически был изменен, если я не ошибаюсь. У меня чертовски много времени уходит на устранение этой неполадки.
Код: Выделить всё
import random
numbers = [2, 1, 3, 1, 2]
x = 2 # I plan to import x from a dict with various values
get_shuffled_number = numbers[x]
print(numbers)
print(get_shuffled_number) #shows the value expected upon print
random.shuffle(numbers)
print(numbers) #shows the shuffled list
print(get_shuffled_number) #this pulls the original value from the list at index (x) before being shuffled
Код: Выделить всё
[2, 1, 3, 1, 2]
3
[1, 2, 2, 3, 1]
3
Подробнее здесь: https://stackoverflow.com/questions/786 ... inal-index