繁体   English   中英

一种获取多个字符串的所有组合的方法(Python)

[英]A way to get all combinations of multiple strings(Python)

说我输入:

["abc", "def"]

它会给我:

["ad","ae","af","bd","be","bf","cd","ce","cf"]

我使用的代码:

combs = [""]
conv = {"2":"abc","3":"def","4":"ghi","5":"jkl","6":"mno","7":"qprs","8":"tuv","9":"vxyz"}
for digit in "23":
    for comb in combs:
        for loop in range(len(conv.get(digit))):
            combs.append(digit)

但是这段代码创建了一个无限循环

import itertools
a = ["abc", "def", "hk"]
b = ["".join(s) for s in itertools.product(*a)]
print(b)

output: ['adh', 'adk', 'aeh', 'aek', 'afh', 'afk', 'bdh', 'bdk', 'beh', 'bek', 'bfh', 'bfk', 'cdh', 'cdk', 'ceh', 'cek', 'cfh', 'cfk']

from itertools import product
a = product('abc','def')
print(list(a))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM