TGgan 发表于 2022-1-8 18:35:56

大佬们请帮我康康,一个关于排列组合的问题

大佬们,问题是这样的:
我有两组数据,例如:
第一组数据 =
第二组数据 =
出于某种需要,我想弄第三组数据,第三组数据中的A、B、C、D分别可能来自第一组或者第二组
现在我想弄一个列表出来,列表中,以列表的形式包含了第三组数据的所有可能性,请问有没有比较简单可行的方法{:10_297:} 想学习学习{:10_297:} ,在此先谢谢各位大佬们啦!!!!!!

傻眼貓咪 发表于 2022-1-8 18:57:40

from itertools import combinations as c
A = ['a', 'b', 'c', 'd']
B = ['e', 'f', 'g', 'h']
arr =
print(arr)

TGgan 发表于 2022-1-8 19:36:10

傻眼貓咪 发表于 2022-1-8 18:57


谢谢!!学到了!!!!!!

TGgan 发表于 2022-1-8 20:26:58

傻眼貓咪 发表于 2022-1-8 18:57


发现好像不太行,因为我的第三组数据里的A只能来自A1或者A2,这样排列出来效果不是那样的{:10_266:}{:10_266:}

傻眼貓咪 发表于 2022-1-8 20:40:39

TGgan 发表于 2022-1-8 20:26
发现好像不太行,因为我的第三组数据里的A只能来自A1或者A2,这样排列出来效果不是那样的{:10_ ...

你的意思是 A1 或 A2 选其中一个,B1 或 B2 选其中一个,以此类推?

傻眼貓咪 发表于 2022-1-8 20:51:03

TGgan 发表于 2022-1-8 20:26
发现好像不太行,因为我的第三组数据里的A只能来自A1或者A2,这样排列出来效果不是那样的{:10_ ...

A = ['A1', 'B1', 'C1', 'D1']
B = ['A2', 'B2', 'C2', 'D2']
C = )]
arr = [ for a in C for b in C for c in C for d in C]
print(arr)

傻眼貓咪 发表于 2022-1-8 21:43:35

TGgan 发表于 2022-1-8 20:26
发现好像不太行,因为我的第三组数据里的A只能来自A1或者A2,这样排列出来效果不是那样的{:10_ ...

假如数组 A 或 B 长度不一定(例如你的问题给定数据组 4 个元素为一组),则用:# 任意长度数组 A 和 B 都可用此代码(但必须确保 A 和 B 长度一致)
A = ['A1', 'B1', 'C1', 'D1', 'E1']
B = ['A2', 'B2', 'C2', 'D2', 'E2']
C = )]
n = 2**(len(A))
m = n>>1
index = []
while m:
    key = 1
    temp = []
    while len(temp) != n:
      for i in range(m): temp.append(key)
      key = 0 if key else 1
    index.append(temp)
    m >>= 1
index = )]
arr = []
for i in index:
    temp = []
    for k, j in enumerate(i):
      temp.append(C)
    arr.append(temp)

print(arr)

TGgan 发表于 2022-1-8 23:45:22

傻眼貓咪 发表于 2022-1-8 21:43
假如数组 A 或 B 长度不一定(例如你的问题给定数据组 4 个元素为一组),则用:

谢谢谢谢大佬,我一定好好研究,哈哈哈哈,我在应用中确实是一组6个数据{:10_254:}

myqf123 发表于 2022-1-9 12:52:01

傻眼貓咪 发表于 2022-1-8 18:57


{:5_105:}

fmydedie 发表于 2022-1-9 18:00:24

{:10_249:}

hornwong 发表于 2022-1-9 18:09:08

{:5_95:}

PFBZSC 发表于 2022-1-9 18:51:52

{:10_254:}

tianlai7266 发表于 2022-1-9 19:27:10

{:10_254:}

tianlai7266 发表于 2022-1-9 19:27:52

{:10_279:}

心驰神往 发表于 2022-1-10 08:13:51

{:10_316:}

阿萨德按时 发表于 2022-1-10 08:49:57

{:10_279:}

1molHF 发表于 2022-1-10 09:00:45

{:10_256:}

1molHF 发表于 2022-1-10 09:01:43

{:10_256:}

伽羅~ 发表于 2022-1-10 09:24:32

{:10_279:}

fmydedie 发表于 2022-1-10 09:26:08

解决就好
页: [1] 2
查看完整版本: 大佬们请帮我康康,一个关于排列组合的问题