单词列表A与单词列表b和单词列表C的所有组合,同时保持所述列出单词的顺序

时间:2018-05-26 05:58:28

标签: python powershell

这里的总菜单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。

3 个答案:

答案 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_aword_Bword_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
    }
  }
}