Извлечение индекса перетасованного списка возвращает значение исходного индекса.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечение индекса перетасованного списка возвращает значение исходного индекса.

Сообщение Anonymous »

Я пытаюсь создать небольшой глупый генератор «случайных» чисел, чтобы понять, как в Python работают списки и извлечение значений из них.
У меня есть переменная, определенная как 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
поэтому Numbers[x] извлекает индекс 2 из исходного списка, а не из перетасованного списка после перетасовки.

Подробнее здесь: https://stackoverflow.com/questions/786 ... inal-index
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»