Sortierung von verschachtelten namedtuples in einer Liste
Verfasst: Dienstag 19. November 2019, 21:40
Hi,
ich habe eine Frage bezüglich der Sortierung von verschachtelten namedtuplets in einer Liste.
named tuples:
PolarCoordinate = collections.namedtuple('PolarCoordinate', ['r', 'phi'])
Node = collections.namedtuple('Node', ['id', 'polar_coordinate'])
Meine liste sieht nach einigen Berechnungen so aus:
p=[Node(id=0, polar_coordinate=PolarCoordinate(r=0.0, phi=0.0)), Node(id=1, polar_coordinate=PolarCoordinate(r=63.890531379853151, phi=0.87405404526488573)), Node(id=2, polar_coordinate=PolarCoordinate(r=38.910152916687437, phi=0.45215386228577559)), Node(id=3, polar_coordinate=PolarCoordinate(r=71.06335201775947, phi=0.68572951090628631)), Node(id=4, polar_coordinate=PolarCoordinate(r=58.523499553598128, phi=0.348771003583907))]
Nun möchte ich die Liste nach den "r" Werten sortieren.
ich hab das so versucht:
p.sort(key=lambda tup: tup('r'))
klappt aber nicht. wie kann ich die liste hier sortieren sodass die namedtuples in der liste aufsteigend nach "r" sortiert werden?
Danke für eure Hilfe
LG Kash
ich habe eine Frage bezüglich der Sortierung von verschachtelten namedtuplets in einer Liste.
named tuples:
PolarCoordinate = collections.namedtuple('PolarCoordinate', ['r', 'phi'])
Node = collections.namedtuple('Node', ['id', 'polar_coordinate'])
Meine liste sieht nach einigen Berechnungen so aus:
p=[Node(id=0, polar_coordinate=PolarCoordinate(r=0.0, phi=0.0)), Node(id=1, polar_coordinate=PolarCoordinate(r=63.890531379853151, phi=0.87405404526488573)), Node(id=2, polar_coordinate=PolarCoordinate(r=38.910152916687437, phi=0.45215386228577559)), Node(id=3, polar_coordinate=PolarCoordinate(r=71.06335201775947, phi=0.68572951090628631)), Node(id=4, polar_coordinate=PolarCoordinate(r=58.523499553598128, phi=0.348771003583907))]
Nun möchte ich die Liste nach den "r" Werten sortieren.
ich hab das so versucht:
p.sort(key=lambda tup: tup('r'))
klappt aber nicht. wie kann ich die liste hier sortieren sodass die namedtuples in der liste aufsteigend nach "r" sortiert werden?
Danke für eure Hilfe
LG Kash