我的目标很简单
我有一个列表,例如:
a = ['a', 'b', 'c', 'd']
我希望将其随机均匀地分成两个不同的列表,例如:
b = ['c', 'a']
c = ['d', 'b']
提前致谢。
答案 0 :(得分:1)
您可以使用random.suffle
重新排序列表并列出切片以在shuffle之后捕获所需的段:
import random
a = ['a', 'b', 'c', 'd']
random.shuffle(a)
b = a[:2]
c = a[2:]
输出:
['b', 'd']
['c', 'a']
答案 1 :(得分:0)
你可以试试这样的事情
a = ['a', 'b', 'c', 'd',...]
import random
random.shuffle(a) # shuffles the list randomly, as the names imply.
感谢@ Ajax1234这个部分,然后
a1 = a[0::2] # you'll get the even-index elements 0,2,4, ...
a2 = a[1::2] # the odd-index elements 1,3,5,...
如果列表的长度不是偶数,则其中一个列表会更长。
答案 2 :(得分:0)
您可以使用参数2尝试random.sample:
import random
a = ['a', 'b', 'c', 'd']
final=[]
for i in range(0,2):
var=random.sample(a,2)
if var not in final:
final.append(var)
print(final)