Als ich beim Erstellen einer Feature-Matrix für ein statistisches Modell versuchte, die logische Summe von List zu verwenden, hatte ich große Probleme, daher schreibe ich sie auf.
Wenn Sie zuerst nur das Ergebnis schreiben, können Sie wie folgt schreiben
>>> list1 = [1, 1, 0, 0]
>>> list2 = [1, 0, 1, 0]
>>>
>>> #Logische Summe
>>> [max(t) for t in zip(list1, list2)]
[1, 1, 1, 0]
>>>
>>> #Logisches UND
>>> [min(t) for t in zip(list1, list2)]
[1, 0, 0, 0]
Die obige Methode verwendet die Zip-Funktion. Die Zip-Funktion tippt für jede Indexposition auf mehrere Listen.
>>> list1 = [1, 1, 0, 0]
>>> list2 = [1, 0, 1, 0]
>>> zip(list1, list2)
[(1, 1), (1, 0), (0, 1), (0, 0)]
>>>
>>> #Kann mit 3 oder mehr Listen erstellt werden
>>> zip(['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i', 'j', 'k', 'l'])
[('a', 'e', 'i'), ('b', 'f', 'j'), ('c', 'g', 'k'), ('d', 'h', 'l')]
>>>
>>> #Wenn Listen unterschiedlicher Länge gemischt werden, kann nur die kürzeste Listenlänge erstellt werden.
>>> zip(['a', 'b', 'c', 'd'], ['e', 'f', 'g', 'h'], ['i', 'j'])
[('a', 'e', 'i'), ('b', 'f', 'j')]
Recommended Posts