这里的总菜单07.我希望有人可以在这里帮助我。我正在尝试生成一个单词列表,它将3个单词列表与所有可能的组合结合起来,同时保持所述列表的顺序我是公正的将使用哪种语言我已经使用了python和Powershell
我搜索了谷歌,虽然我能够结合所有这些我似乎无法弄清楚如何维持秩序
实例 wordlist A
Alica
Mike
John
单词列表b
bike
car
truck
单词列表C
123
321
231
预期输出将包括所有组合
Alicabike321
Miketruck123
Johncar231
Alicacar231
Miketbike123
Johntruck321.....
所以实际上,如果有意义的话,单词列表A是b和b到c的锚点 任何帮助将不胜感激..
Bal33p。
答案 0 :(得分:0)
你去了:
listA = ['Alica','Mike','John']
listB = ['bike','car','truck']
listC = ['123','321','231']
output_list = []
for item1 in listA:
for item2 in listB:
for item3 in listC:
output_list.append(item1+item2+item3)
print(output_list)
解决方案就像按指定顺序遍历每个列表中的每个元素一样简单,只需将结果添加到临时列表即可。最后,您可以使用或打印结果列表变量。
答案 1 :(得分:0)
您可以使用嵌套的for
循环轻松实现此目的。 Python示例:
首先创建列表:
wordlist_A = ['Alica', 'Mike', 'John']
wordlist_B = ['bike', 'car', 'truck']
wordlist_C = ['123', '321', '231']
然后像这样编写嵌套的for
循环:
for word_C in wordlist_C:
for word_B in wordlist_B:
for word_A in wordlist_A:
print(word_A+word_B+word_C)
我们所做的是,对于每个word_C,遍历每个word_B,以及每个word_B,遍历每个word_A。
然后,在最后的print
语句中,我们确定订单为word_a
,word_B
,word_C
。
如果需要,您可以切换for循环的顺序,这样做会改变每个单词组合在输出中出现的顺序。
答案 2 :(得分:0)
您的预期输出顺序无法通过堆叠命令来实现,但是您订购它们是为了一个接一个地迭代它们。
这是一个powershell版本
ForEach($name in 'Alica', 'Mike', 'John'){
ForEach($vehicle in 'bike', 'car', 'truck'){
ForEach($number in '123', '321', '231'){
"{0}{1}{2}" -f $name,$vehicle,$number
}
}
}
返回此输出:
Alicabike123
Alicabike321
Alicabike231
Alicacar123
Alicacar321
Alicacar231
Alicatruck123
Alicatruck321
Alicatruck231
Mikebike123
Mikebike321
...
编辑要从文件中读取单词列表:
ForEach($name in (Get-Content 'wordListA.txt)){
ForEach($vehicle in (Get-Content 'wordListB.txt)){
ForEach($number in (Get-Content 'wordListC.txt)){
"{0}{1}{2}" -f $name,$vehicle,$number
}
}
}