Heim >Backend-Entwicklung >Python-Tutorial >Wie lassen sich Permutationen aus Listen unterschiedlicher Länge effizient koppeln?
Effizientes Paaren von Permutationen aus unterschiedlichen Listen
Ihr Ziel ist es, einzigartige Kombinationen von Elementen aus zwei Listen zu generieren, wobei die Anzahl der Paarungen davon abhängt die Länge der kürzeren Liste. Lassen Sie uns dieses Konzept veranschaulichen:
Betrachten Sie zwei Listen:
names = ['a', 'b'] numbers = [1, 2]
Die gewünschte Ausgabe wäre:
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)]
Um dies zu erreichen, können Sie die Leistungsfähigkeit von Python nutzen itertools.product. So funktioniert es:
<code class="python">from itertools import product a = ['foo', 'melon'] b = [True, False] c = list(product(a, b))</code>
Durch die Verwendung des Produkts erhalten Sie alle möglichen paarweisen Kombinationen:
[('foo', True), ('foo', False), ('melon', True), ('melon', False)]
In Szenarien, in denen eine Liste länger ist als die andere (z. B. gibt es bei Namen drei Elemente, während Zahlen nur zwei haben), werden die Permutationen dennoch basierend auf der kürzeren Liste berechnet:
names = ['a', 'b', 'c'] numbers = [1, 2]
Erwartete Ausgabe:
[('a', 1), ('b', 2)] [('b', 1), ('a', 2)] [('a', 1), ('c', 2)] [('c', 1), ('a', 2)] [('b', 1), ('c', 2)] [('c', 1), ('b', 2)]
Dieser Ansatz stellt sicher, dass Sie alle erforderlichen möglichen Kombinationen erhalten für Ihren spezifischen Anwendungsfall, unabhängig von der relativen Länge der Eingabelisten.
Das obige ist der detaillierte Inhalt vonWie lassen sich Permutationen aus Listen unterschiedlicher Länge effizient koppeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!