Generieren Sie Nutzdaten dynamisch basierend auf ListengeschwisternPython

Python-Programme
Anonymous
 Generieren Sie Nutzdaten dynamisch basierend auf Listengeschwistern

Post by Anonymous »

Zusammenfassung
Ich muss eine Liste in JSON konvertieren, möchte aber einige Daten bedingt in ein generiertes Array einschließen, das auf den Werten benachbarter Mitglieder der Liste basiert. Und hätte gerne eine elegante Möglichkeit, dies zu tun (Python 3.13)
Details
Ich habe einen Prozess, der Aufrufe im Format akzeptiert

Code: Select all

command: str
device: str
command_options: str
payload: dict[str, Any]
und es gibt einen Batch-Prozess, der diese bündelt, um die Anzahl der Aufrufe an eine externe API zu reduzieren. Dadurch werden alle Anfragen in kurzer Zeit entgegengenommen und in eine Liste umgewandelt, die dann an einen tatsächlichen Dispatcher übergeben wird, der den externen API-Aufruf sendet.
Im Allgemeinen beträgt die Nutzlast

Code: Select all

{
nodes: [
payload1...,
payload2...,
payload3...
]
}
Der Dispatcher nimmt also einfach die Nutzlast von jedem Aufruf und hängt sie an ein JSON-Array an.
Ich möchte jedoch die Parallelität in der externen API nutzen und Aufrufe umschließen, die
  • den gleichen Befehl
  • die gleichen Befehlsoptionen
  • ein anderes Gerät
also wenn du hättest

Code: Select all

  command: C1
device: D1
command_options: C1O1
payload: ... # payload 1

Code: Select all

  command: C2
device: D2
command_options: C2O1
payload: ... # payload 2

Code: Select all

  command: C2
device: D3
command_options: C2O1
payload: ... # payload 3

Code: Select all

  command: C3
device: D3
command_options: C3O1
payload: ... # payload 4
Ich möchte dies in umwandeln

Code: Select all

{
nodes: [
payload1...,
parallelNode: [
payload2...,
payload3...
],
payload4 ...
]
}
Ich komme jedoch in ein Henne-Ei-Szenario, als würde man, wenn man die Liste iteriert, erst dann wissen, dass man den parallelNode benötigt, wenn man zum zweiten Element in dieser Gruppe gelangt.
Ich suche nach einer effizienten Möglichkeit, diese Eingabe in das gewünschte Ausgabeformat zu verarbeiten.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post