Ich habe eine Liste von Sets:
setlist = [s1,s2,s3...]
Ich möchte s1 s2 s3 ...
Ich kann eine Funktion schreiben, die dies durch eine Reihe von paarweisen s1.intersection(s2)
, usw.
Gibt es einen empfohlenen, besseren oder eingebauten Weg?
Ich habe eine Liste von Sets:
setlist = [s1,s2,s3...]
Ich möchte s1 s2 s3 ...
Ich kann eine Funktion schreiben, die dies durch eine Reihe von paarweisen s1.intersection(s2)
, usw.
Gibt es einen empfohlenen, besseren oder eingebauten Weg?
Hier biete ich eine allgemeine Funktion für die Schnittmenge mehrerer Mengen an und versuche, die beste verfügbare Methode zu nutzen:
def multiple_set_intersection(*sets):
"""Return multiple set intersection."""
try:
return set.intersection(*sets)
except TypeError: # this is Python < 2.6 or no arguments
pass
try: a_set= sets[0]
except IndexError: # no arguments
return set() # return empty set
return reduce(a_set.intersection, sets[1:])
Guido könnte missfallen reduce
aber ich mag es irgendwie :)
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.