Выберите n случайных элементов из каждой строки списка - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть список списка L как:

       [
         [1,2,3,4,5,6], 
         [10,20,30,40,50,60],
         [11,12,113,4,15,6],
        ]

Внутренний список того же размера. Я хочу выбрать n-случайных элементов из каждой строки L и вывести их в виде одного и того же списка списка.

Я попробовал следующий код:

import random
import math

len_f=len(L)
index=[i for i in range(len_f)]
RANDOM_INDEX=random.sample(index, 5))

Я застрял в этомотметьте, что как я могу использовать случайный индекс для получения выходных данных из L.

Выходные данные для "2" случайных элементов будут такими:

       [
         [1,6], 
         [10,60],
         [11,6],
        ]

Если случайная функция выберет 1 и 6 в качестве индекса.

1 Ответ

2 голосов
/ 09 ноября 2019

random.sample может быть использовано. Адаптируйте размер выборки k в соответствии с вашими потребностями.

In:  import random   
In:  [random.sample(ls, k=3) for ls in L]
Out: [[1, 2, 6], [60, 10, 30], [4, 12, 15]]

Предполагается, что порядок выбранных элементов не имеет значения.

Документ для random.sample для удобства: https://docs.python.org/3/library/random.html#random.sample

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...