2017-11-26 7 views
-2

weiß jemand wie kann ich alle möglichen Kombinationen einer gegebenen Liste mit Python 3 herausfinden?Erstellen Sie alle möglichen Kombinationen einer Liste in Python

Aussehen Meine Listen wie folgt aus:

usersArray = ["John", "Mike", "Robert", "Tom"] 
foodsArray = ["hamburger", "cake", "cheese"] 

Ich möchte so etwas haben:

Johnhamburger 
Mikehamburger 
Roberthamburger 
Tomhamburger 

Johncake 
Mikecake 
Robertcake 
Tomcake 

Johncheese 
Mikecheese 
Robertcheese 
Tomcheese 

#and then the opposite 

hamburgerJohn 
hamburgerMike 
hamburgerRobert 
hamburgerTom 

cakeJohn 
... 
... 
... 

cheeseJohn 
... 
... 
... 

Kann ich itertools benutzen? Vielen Dank!

+0

uns Zeigen Sie, was Sie sich bisher versucht haben. –

+0

Nein @IrmendeJong –

+0

Entschuldigung? StackOverflow ist kein Code-Schreibdienst. –

Antwort

2

Das ist nur zwei Verwendungen von itertools Produkt ist:

for food, user in itertools.product(foodsArray, usersArray): 
    print(user+food) 

for food, user in itertools.product(foodsArray, usersArray): 
    print(food+user) 
1

Eine reine Python Lösung:

Sie können dies tun, mit nestedfor-loops in ein list-comprehension und stringconcatenation:

[u + f for u in usersArray for f in foodsArray] 

, die gibt:

['Johnhamburger', 'Johncake', 'Johncheese', 'Mikehamburger', 'Mikecake', 'Mikecheese', 'Roberthamburger', 'Robertcake', 'Robertcheese', 'Tomhamburger', 'Tomcake', 'Tomcheese'] 

[f + u for u in usersArray for f in foodsArray] 

die gibt:

['hamburgerJohn', 'cakeJohn', 'cheeseJohn', 'hamburgerMike', 'cakeMike', 'cheeseMike', 'hamburgerRobert', 'cakeRobert', 'cheeseRobert', 'hamburgerTom', 'cakeTom', 'cheeseTom'] 
Verwandte Themen