So far I have figured out how to import the file, create new files, and randomize the list.
I'm having trouble selecting only 50 items from the list randomly to write to a file?
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')
So if the total randomization file was
example:
random_total = ['9','2','3','1','5','6','8','7','0','4']
I would want 3 files (out_file1|2|3) with the first random set of 3, second random set of 3, and third random set of 3 (for this example, but the one I want to create should have 50)
random_1 = ['9','2','3']
random_2 = ['1','5','6']
random_3 = ['8','7','0']
So the last '4' will not be included which is fine.
How can I select 50 from the list that I randomized ?
Even better, how could I select 50 at random from the original list ?
One easy way to select random items is to shuffle then slice.
Say your list has 100 elements and you want to pick 50 of them in a random way. Here are the steps to follow:
Code:
I think
random.choice()
is a better option.the function returns an array of 3 randomly chosen values from the list
If the list is in random order, you can just take the first 50.
Otherwise, use
random.sample
help text: