Skip to main content
 首页 » 编程设计

python之Python 中的字符串操作(单词的所有大写和小写派生词)

2025年05月04日24powertoolsteam

我必须读入一个单词,然后创建一个数组,将这个单词的大小写字符的每个变体存储在一个数组中。例如单词“abc”。我需要找到一种方法来检索“abc”的每个大写和小写版本(abc、Abc、ABc、ABC、AbC、abC 和 aBC)。该字符串还可能包含应单独保留的数字。

我知道我必须在这里使用递归来获得每一个变化,但我不太确定如何,或者是否有任何 python 库提供这种操作。

非常感谢任何帮助或提示!

请您参考如下方法:

from itertools import product 
def randString(istr): 
    l = [(c, c.upper()) if not c.isdigit() else (c,) for c in istr.lower()] 
    return ["".join(item) for item in product(*l)] 
 
print randString("aBC1") 
print randString("A1b2c3") 

输出

['abc1', 'abC1', 'aBc1', 'aBC1', 'Abc1', 'AbC1', 'ABc1', 'ABC1'] 
['a1b2c3', 'a1b2C3', 'a1B2c3', 'a1B2C3', 'A1b2c3', 'A1b2C3', 'A1B2c3', 'A1B2C3']