我需要在python中找出所有可能的情况排列列表,例如输入ar它会返回['ar','Ar','aR','AR']
或arc ['arc',' Arc','ARc','aRc','aRC','ARC']我知道可能有一些Nice方法,但对于我的生活,我无法理解.
我希望它是星期一 - 它现在正在踢,但我觉得应该很容易 - 或者至少是优雅 - 给我一个大脑放屁.用例是这样的:
查找特定单词的所有可能组合,其中字母可以是任何大小写或替换为字母.例如:
一句话:'密码'组合:'密码','P @ ssw0rd','p @ 55w0rD'......
我不想写7个循环来找到它,即使它是一个永远不会再次使用的一次性脚本.
我正在寻找要在 Javascript 中回答的这个stackoverflow 问题。
所以如果我的输入是“word”,函数应该返回:
词,词,词,词,词,词,等等。
这是我到目前为止所拥有的,但它只产生排列(不大写任何东西)
var perm = function(str){
var results = [];
var combos = function(reference, appendTo){
appendTo = appendTo || "";
if(reference.length === 0) {
results.push(appendTo);
}
for(var i = 0; i < reference.length; i++){
var current = reference.splice(i, 1);
combos(reference, appendTo+current);
reference.splice(i, 0, current)
}
}
combos(str.split(""));
return results;
}
perm("word");
Run Code Online (Sandbox Code Playgroud) 如何生成单词中低位和高位字符的所有组合?例如:
'abc' → ['abc', 'ABC', 'Abc', 'ABc', 'aBC', 'aBc', 'abC', 'Abc']
'ab' → ['ab', 'AB', 'Ab', 'aB']
python ×3
permutation ×2
combinations ×1
iteration ×1
javascript ×1
lowercase ×1
python-3.x ×1
string ×1
uppercase ×1