Mit einem Datensatz aus einem beliebigen Satz von Listen (oder Diktaten oder anderen Itern) möchte ich eine neue Liste oder ein neues Tupel erstellen, das alle ersten Einträge, dann alle zweiten usw. enthält, wie ein hstack .
Wenn ich einen bekannten Datensatz habe, kann ich ihn wie folgt zusammenpacken:
Aber was ist, wenn ich nicht weiß, wie viele Einträge (oder Schlüssel) das Diktat hat?
Für die Verarbeitung eines beliebigen Satzes von Iteratoren: Ich habe versucht:
nums = sum(zip(num for val in data.keys() for num in data[val]), ())
# nums: (2, 1, 4, 3, 2, 4, 5, 3, 3, 2, 4, 6, 3, 2, 4, 4, 5, 3)
Aber beide behalten einfach die gleiche Reihenfolge bei, die ich durch das Zusammenfügen der Sequenzen erhalten konnte.
Ich konnte es zum Laufen bringen:
counts = []
entry = list(data.keys())[0]
for idx, count in enumerate(data[entry]):
for val in list(data.keys()):
counts.append(data[val][idx])
# counts: [2, 5, 3, 1, 3, 2, 4, 3, 4, 3, 2, 4, 2, 4, 5, 4, 6, 3]
Das ist in Ordnung, aber etwas sperrig. Scheint, als ob es einen besseren Weg geben sollte.
Gibt es einen Weg mit Listenverständnis oder einer Funktion von zip, die ich vermisst habe?
Keine Importe bevorzugt .
Mit einem Datensatz aus einem beliebigen Satz von Listen (oder Diktaten oder anderen Itern) möchte ich eine neue Liste oder ein neues Tupel erstellen, das alle ersten Einträge, dann alle zweiten usw. enthält, wie ein hstack . Wenn ich einen bekannten Datensatz habe, kann ich ihn wie folgt zusammenpacken: [code]data = {'2015': [2, 1, 4, 3, 2, 4], '2016': [5, 3, 3, 2, 4, 6], '2017': [3, 2, 4, 4, 5, 3]}
hstack = sum(zip(data['2015'], data['2016'], data['2017']), ()) print(hstack) # hstack: (2, 5, 3, 1, 3, 2, 4, 3, 4, 3, 2, 4, 2, 4, 5, 4, 6, 3) [/code] Aber was ist, wenn ich nicht weiß, wie viele Einträge (oder Schlüssel) das Diktat hat? Für die Verarbeitung eines beliebigen Satzes von Iteratoren: Ich habe versucht: [code]combined_lists = sum(zip(data[val] for val in data.keys()), ()) # combined_lists: ([2, 1, 4, 3, 2, 4], [5, 3, 3, 2, 4, 6], [3, 2, 4, 4, 5, 3]) [/code] Und außerdem: [code]nums = sum(zip(num for val in data.keys() for num in data[val]), ()) # nums: (2, 1, 4, 3, 2, 4, 5, 3, 3, 2, 4, 6, 3, 2, 4, 4, 5, 3) [/code] Aber beide behalten einfach die gleiche Reihenfolge bei, die ich durch das Zusammenfügen der Sequenzen erhalten konnte. Ich konnte es zum Laufen bringen: [code]counts = [] entry = list(data.keys())[0] for idx, count in enumerate(data[entry]): for val in list(data.keys()): counts.append(data[val][idx]) # counts: [2, 5, 3, 1, 3, 2, 4, 3, 4, 3, 2, 4, 2, 4, 5, 4, 6, 3] [/code] Das ist in Ordnung, aber etwas sperrig. Scheint, als ob es einen besseren Weg geben sollte. Gibt es einen Weg mit Listenverständnis oder einer Funktion von zip, die ich vermisst habe? Keine Importe bevorzugt .
Ich habe mit C ++ farbige Animationen im Terminal erstellt, aber mit der Leistungsabnahme, die ANSI mit sich bringt, angefangen. Ich möchte eine volle Farbe im Terminal haben und gleichzeitig eine...
Ich habe ein Problem damit, ein Archiv zu erstellen und einen Verzeichniseintrag hinzuzufügen. Mein Code sieht wie folgt aus:
using (var zip = ZipFile.Create(zipPath))
{
if...
Ich habe oben auf jeder Seite eine CSS position:fixed-Navigationsleiste. Ein Beispiel finden Sie unter usw. Wenn Sie einem Link zu einer #Überschrift innerhalb einer Seite folgen, scrollen Sie zum...
Ich versuche, einige Daten, die ich aus der Datenbank abgerufen habe, in der Benutzeroberfläche anzuzeigen. Allerdings wird nur ein Teil der zurückgegebenen Daten angezeigt, obwohl Routenhandler so...