clip1=[1,3,4,5,6,7]
clip2=[8,10,11,12,13]
clip3=[15,16,18,19,20]
cut=[]
def toe_clip(clip1, clip2, clip3):
a= random.choice(clip1)
b= random.choice(clip2)
c= random.choice(clip3)
cut.append([a,b,c])
return
for i in range(200):
toe_clip(clip1,clip2,clip3)
cut.append(i)
print(cut)
df = pd.DataFrame(data={"Toe_clip_ID": cut})
df.to_csv("toe_clip2.csv", sep=',',index=False)我正在尝试创建一个随机生成的数字组合列表。组合必须有3个数字。第一个数字需要来自clip1列表。clip2列表中的第二个数字,等等。此外,生成的组合必须是唯一的。没有组合可以多次使用。
我正在尝试将生成的cut列表保存到csv文件中。使用显示的代码,输出由range(200)中的数字分隔,范围的组合和数量每隔一行交替。有谁知道如何只打印生成的剪切组合列表,而不打印相应的0-199数字?打印当前cut列表时,我将输出的开头部分复制到下面。
[6,11,18,0,4,13,19,1,3,12,15,2,3,12,20,3,3,8,18,4,10,16,5,6,8,18,6,3,11,20,7,5,10,18,8,4,18,9,7,8,19,10,1,12,19,11,7,12,18,12,7,10,18,13,5,10,18,14,7,11,15,15,4,12,16,
发布于 2020-07-02 09:49:10
您可以使用itertools.product
clip1=[1,3,4,5,6,7]
clip2=[8,10,11,12,13]
clip3=[15,16,18,19,20]
from itertools import product
cut = [list(i) for i in product(clip1, clip2, clip3)]
print(cut)输出:
[[1, 8, 15], [1, 8, 16], [1, 8, 18], [1, 8, 19], [1, 8, 20], [1, 10, 15], [1, 10, 16], [1, 10, 18], [1, 10, 19], [1, 10, 20], [1, 11, 15], [1, 11, 16], [1, 11, 18], [1, 11, 19], [1, 11, 20], [1, 12, 15], [1, 12, 16], [1, 12, 18], [1, 12, 19], [1, 12, 20], [1, 13, 15], [1, 13, 16], [1, 13, 18], [1, 13, 19], [1, 13, 20], [3, 8, 15], [3, 8, 16], [3, 8, 18], [3, 8, 19], [3, 8, 20], [3, 10, 15], [3, 10, 16], [3, 10, 18], [3, 10, 19], [3, 10, 20], [3, 11, 15], [3, 11, 16], [3, 11, 18], [3, 11, 19], [3, 11, 20], [3, 12, 15], [3, 12, 16], [3, 12, 18], [3, 12, 19], [3, 12, 20], [3, 13, 15], [3, 13, 16], [3, 13, 18], [3, 13, 19], [3, 13, 20], [4, 8, 15], [4, 8, 16], [4, 8, 18], [4, 8, 19], [4, 8, 20], [4, 10, 15], [4, 10, 16], [4, 10, 18], [4, 10, 19], [4, 10, 20], [4, 11, 15], [4, 11, 16], [4, 11, 18], [4, 11, 19], [4, 11, 20], [4, 12, 15], [4, 12, 16], [4, 12, 18], [4, 12, 19], [4, 12, 20], [4, 13, 15], [4, 13, 16], [4, 13, 18], [4, 13, 19], [4, 13, 20], [5, 8, 15], [5, 8, 16], [5, 8, 18], [5, 8, 19], [5, 8, 20], [5, 10, 15], [5, 10, 16], [5, 10, 18], [5, 10, 19], [5, 10, 20], [5, 11, 15], [5, 11, 16], [5, 11, 18], [5, 11, 19], [5, 11, 20], [5, 12, 15], [5, 12, 16], [5, 12, 18], [5, 12, 19], [5, 12, 20], [5, 13, 15], [5, 13, 16], [5, 13, 18], [5, 13, 19], [5, 13, 20], [6, 8, 15], [6, 8, 16], [6, 8, 18], [6, 8, 19], [6, 8, 20], [6, 10, 15], [6, 10, 16], [6, 10, 18], [6, 10, 19], [6, 10, 20], [6, 11, 15], [6, 11, 16], [6, 11, 18], [6, 11, 19], [6, 11, 20], [6, 12, 15], [6, 12, 16], [6, 12, 18], [6, 12, 19], [6, 12, 20], [6, 13, 15], [6, 13, 16], [6, 13, 18], [6, 13, 19], [6, 13, 20], [7, 8, 15], [7, 8, 16], [7, 8, 18], [7, 8, 19], [7, 8, 20], [7, 10, 15], [7, 10, 16], [7, 10, 18], [7, 10, 19], [7, 10, 20], [7, 11, 15], [7, 11, 16], [7, 11, 18], [7, 11, 19], [7, 11, 20], [7, 12, 15], [7, 12, 16], [7, 12, 18], [7, 12, 19], [7, 12, 20], [7, 13, 15], [7, 13, 16], [7, 13, 18], [7, 13, 19], [7, 13, 20]]发布于 2020-07-02 05:13:11
尝尝这个
clip1=[1,3,4,5,6,7]
clip2=[8,10,11,12,13]
clip3=[15,16,18,19,20]
cut=[]
for x in clip1:
for y in clip2:
for z in clip3:
cut.append([x,y,z])
print(cut)
print(len(cut))https://stackoverflow.com/questions/62684904
复制相似问题