如何使用 random.sample() 制作各种列表?
How to make various list using random.sample()?
在此列表中
AIB13seoul= ['김예나','김혜관','노주연','박진수','박희선','양건희','양세비',
'이예지','전형준','정승기','sangwon','이지현','김강호','김슬기',
'김용석','김재성','방준원','한유성','한현구','강병우']
我想使用循环创建另外 3 个名为 a
、b
和 c
的随机列表,不重复。
我不习惯使用循环,所以这是我最初尝试的方式:
import random
a = random.sample(AIB13seoul, 7)
list(a)
removed=list(set(AIB13seoul) - set(a))
b = random.sample(removed, 7)
removed1=list(set(removed) - set(b))
c = random.sample(removed1, 6)
这是我正在使用的文件:off-site file
我试过这个:
a=[]
for x in AIB13seoul:
select=random.sample(AIB13seoul,7)
a.append(select)
print(a)
但是没用。
您可以使用 numpy
和 random
编写一个相当灵活的实现:
import random as rand
import numpy as np
def split(list, subdivisions):
l = rand.sample(list, len(list))
splits = [int(len(l) * split) for split in np.linspace(0, 1, subdivisions + 1)]
return [ l[splits[i] : splits[i+1]] for i in range(len(splits) - 1)]
split(AIB13seoul, 3)
这导致:
> [['한현구', '김강호', '방준원', '양세비', '박희선', '한유성'],
['김재성', '김혜관', '이지현', '양건희', '김슬기', '박진수', '정승기'],
['김용석', '노주연', '강병우', '이예지', 'sangwon', '전형준', '김예나']]
在此列表中
AIB13seoul= ['김예나','김혜관','노주연','박진수','박희선','양건희','양세비',
'이예지','전형준','정승기','sangwon','이지현','김강호','김슬기',
'김용석','김재성','방준원','한유성','한현구','강병우']
我想使用循环创建另外 3 个名为 a
、b
和 c
的随机列表,不重复。
我不习惯使用循环,所以这是我最初尝试的方式:
import random
a = random.sample(AIB13seoul, 7)
list(a)
removed=list(set(AIB13seoul) - set(a))
b = random.sample(removed, 7)
removed1=list(set(removed) - set(b))
c = random.sample(removed1, 6)
这是我正在使用的文件:off-site file
我试过这个:
a=[]
for x in AIB13seoul:
select=random.sample(AIB13seoul,7)
a.append(select)
print(a)
但是没用。
您可以使用 numpy
和 random
编写一个相当灵活的实现:
import random as rand
import numpy as np
def split(list, subdivisions):
l = rand.sample(list, len(list))
splits = [int(len(l) * split) for split in np.linspace(0, 1, subdivisions + 1)]
return [ l[splits[i] : splits[i+1]] for i in range(len(splits) - 1)]
split(AIB13seoul, 3)
这导致:
> [['한현구', '김강호', '방준원', '양세비', '박희선', '한유성'],
['김재성', '김혜관', '이지현', '양건희', '김슬기', '박진수', '정승기'],
['김용석', '노주연', '강병우', '이예지', 'sangwon', '전형준', '김예나']]