einen Endpunkt auf meinem Backend Unter Berücksichtigung, dass die folgende Antwort zurück:Iterate Python-Liste und die Summe gleich Elemente
class Arc_Edges_Data(Resource):
def get(self):
#Connect to databse
conn = connectDB()
cur = conn.cursor()
#Perform query and return JSON data
try:
cur.execute("select json_build_object('source', start_location, 'target', end_location, 'frequency', 1) from trips")
except:
print("Error executing select")
ArcList = list (i[0] for i in cur.fetchall())
return ArcList
Die Frequenz hier soll immer von 1 für jede Reise. Also diese ArcList
stammt eine Antwort wie folgt aus:
[
{
"frequency": 1,
"source": "c",
"target": "c"
},
{
"frequency": 1,
"source": "a",
"target": "b"
}, {
"frequency": 1,
"source": "a",
"target": "b"
}, ...
]
Wie kann ich diese Reaktion durchlaufen und die Elemente zusammenzufassen, die die gleiche source
und target
haben? In diesem Fall hätte die resultierende Liste nur ein Paar Quelle/Ziel mit "a" und "b", aber die Häufigkeit wäre 2 wegen der Summe.
Ich weiß, dass für Javascript ich etwas wie Array.reduce
verwenden könnte, aber ich glaube nicht, dass es für Python existiert.
Python hat zu reduzieren https://docs.python.org/2/library/functions.html#reduce – marcadian
Python Counter kann Ihnen helfen: https://docs.python.org/3/library/collections.html#collections.Counter –