gpt4 book ai didi

Python:通过替换其符号来创建字符串的所有派生词

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:08 28 4
gpt4 key购买 nike

我有这样的字典

d = {'a' : ['1', '+', '='], 'b' : ['2'], c : ['3']}

我的目标是通过像这样替换其元素来创建一个包含初始单词所有可能派生词的列表:

word = 'abcde'
rez = ['abcde',
'1bcde', '+bcde', '=bcde',
'a2cde', '12cde', '+2cde', '=2cde',
'ab3de', '1b3de', '+b3de', '=b3de', 'a23de', '123de', '+23de', '=23de']

rez 中的单词顺序并不重要。

我觉得 itertools 应该有一些简单的方法,但我看不到。任何漂亮的解决方案都将受到欢迎。

最佳答案

当然,itertools始终是此类问题的答案。可能有更好的选择,但我首先想到的是使用 itertools.product :

from itertools import product

[''.join(chars) for chars in product(*[[x] + d.get(x, []) for x in word])]

输出

['abcde', 'ab3de', 'a2cde', 'a23de', '1bcde', '1b3de', '12cde', '123de',
'+bcde', '+b3de', '+2cde', '+23de', '=bcde', '=b3de', '=2cde', '=23de']

关于Python:通过替换其符号来创建字符串的所有派生词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25877029/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com