Как результат «случайной» функции связан с индексом списка?Python

Программы на Python
Ответить
Anonymous
 Как результат «случайной» функции связан с индексом списка?

Сообщение Anonymous »

Это очень простой фрагмент кода из одного учебного курса.

Код: Выделить всё

import random
l=[1,2,3,4,5,6,7,8,9,10]
sorted(l, key=lambda x:random.random())
В результате мы перетасовали список в случайном порядке. Например:

Код: Выделить всё

[7, 4, 9, 1, 10, 8, 6, 3, 2, 5]
Я распечатал сгенерированные случайные значения для этого списка. Это были:

Код: Выделить всё

0.2991455199706915
0.6909636166874692
0.6588993793087247
0.2464197124358396
0.8021604268319649
0.4982523946322083
0.14000601629016884
0.3598504556263765
0.25865161068212017
0.3534562884598361
Мой вопрос: как одно из этих значений связано с индексом в списке? Например, почему значение x = 0,2991455199706915 означает 7-й элемент списка, а значение x = 0,6909636166874692 означает 4-й элемент списка?
Если бы это было сделано, например, на C++, Я бы масштабировал значения, генерируемые случайной функцией, из интервала [0,1) в интервал [0,10) и, очевидно, округлял сгенерированные значения до ближайшего целого числа. Похоже, у меня аналогичный процесс под капотом. Я хотел бы знать, как это работает.

Подробнее здесь: https://stackoverflow.com/questions/793 ... list-index
Ответить

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

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

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

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

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