Выберите 50 элементов из списка в случайном порядке, чтобы записать в файл

До сих пор я выяснил, как импортировать файл, создавать новые файлы и рандомизировать список.

У меня возникли проблемы с выбором только 50 элементов из списка случайным образом для записи в файл?

def randomizer(input,output1='random_1.txt',output2='random_2.txt',output3='random_3.txt',output4='random_total.txt'): #Input file query=open(input,'r').read().split() dir,file=os.path.split(input) temp1 = os.path.join(dir,output1) temp2 = os.path.join(dir,output2) temp3 = os.path.join(dir,output3) temp4 = os.path.join(dir,output4) out_file4=open(temp4,'w') random.shuffle(query) for item in query: out_file4.write(item+'\n') 

Поэтому, если общий файл рандомизации был

 example: random_total = ['9','2','3','1','5','6','8','7','0','4'] 

Я хотел бы получить 3 файла (out_file1 | 2 | 3) с первым случайным набором из 3, второго случайного набора из 3 и третьего случайного набора из 3 (для этого примера, но тот, который я хочу создать, должен иметь 50)

 random_1 = ['9','2','3'] random_2 = ['1','5','6'] random_3 = ['8','7','0'] 

Таким образом, последний «4» не будет включен, и это нормально.

Как выбрать 50 из списка, который я рандомизировал?

Еще лучше, как я мог выбрать 50 случайным образом из исходного списка?

3 Solutions collect form web for “Выберите 50 элементов из списка в случайном порядке, чтобы записать в файл”

Если список находится в случайном порядке, вы можете просто взять первые 50.

В противном случае используйте

 random.sample(the_list, 50) 

random.sample текст справки:

 sample(self, population, k) method of random.Random instance Chooses k unique random elements from a population sequence. Returns a new list containing elements from the population while leaving the original population unchanged. The resulting list is in selection order so that all sub-slices will also be valid random samples. This allows raffle winners (the sample) to be partitioned into grand prize and second place winners (the subslices). Members of the population need not be hashable or unique. If the population contains repeats, then each occurrence is a possible selection in the sample. To choose a sample in a range of integers, use xrange as an argument. This is especially fast and space efficient for sampling from a large population: sample(xrange(10000000), 60) 

Я думаю, что random.choice() – лучший вариант.

 from numpy import random mylist = [13,23,14,52,6,23] random.choice(mylist,3) 

функция возвращает массив из 3 случайно выбранных значений из списка

Один простой способ выбрать случайные элементы – это перетасовать, а затем срез.

 import random a = [1,2,3,4,5,6,7,8,9] random.shuffle(a) print a[:4] # prints 4 random variables 
  • Чтение Python из файла в несколько списков
  • Старое хэширование питона выполняется слева направо - почему это плохо?
  • В Python есть ли сжатый способ сравнения, совпадают ли содержимое двух текстовых файлов?
  • Как контролировать файлы Python для изменений?
  • Импорт файлов в Python?
  • Сортировка строк по второму слову в каждой строке текстового файла, а затем отображение его
  • Ведение журнала Python - проверка местоположения файлов журнала?
  • Функция Readline в классе Directory Lister
  • Как скопировать файл с помощью python?
  • Ошибка при использовании listdir в Python
  • Как использовать ведение журнала с файловым файлом python и настроить имя файла журнала
  •  
    Interesting Posts for Van-Lav

    Как я могу отсортировать список кортежей одним из его значений, а затем другим?

    Программа торгового автомата (подсчитайте сумму, которую необходимо вставить, и т. Д.)

    Python Как получить каждый первый элемент в 2 Dimensional List

    Многопроцессорность Python, приводящая ко многим зомби-процессам

    функция1 из другой файл не работает если эта функция1 вызывает другой функция2 внутри функция1

    PyQt4 – Удалить элемент виджета из QListWidget

    Как удалить элемент из списка python, если условие True?

    что блокирует и не блокирует веб-сервер, какая разница между ними?

    Как рассчитывается оценка scikit-learn cross_val_predict?

    HTTPS для Mercurial 1.9.2 на сервере Windows 2008 / IIS 7 дает мне Errno 10054

    Поддерживает ли Coldfusion динамические аргументы?

    Как я могу вручную создать файл .pyc из файла .py

    Как создать фиксацию и нажать на репо с GitHub API v3?

    Вставить элемент в отсортированный по регистру список в Python

    Как переместить и переименовать документы, размещенные в нескольких вложенных папках, в новую отдельную папку с помощью python?

    Python - лучший язык программирования в мире.