Sortieren
Contents
Sortieren#
Sortieren eines Dicts#
Gegeben:
ein Dict, das die Häufigkeit von Würfelsummen angibt
z.B.
haeufigkeit = {9: 4, 10: 2, 3: 3, 2: 1, 8: 1, 7: 5, 12: 1, 5: 2, 4: 1}
Gesucht:
das dict nach den Keys sortiert
haeufigkeit = {9: 4, 10: 2, 3: 3, 2: 1, 8: 1, 7: 5, 12: 1, 5: 2, 4: 1}
... #
andere Lösung:
{ k:v for k,v in sorted(haeufigkeit.items(), key= lambda x: x[0] ) }
{2: 1, 3: 3, 4: 1, 5: 2, 7: 5, 8: 1, 9: 4, 10: 2, 12: 1}
Gesucht:
das dict nach den Würfelsummen sortiert
... #
Ellipsis
Histogramm#
Gegeben:
eine Liste der Summe von Würfen mit 2 Würfeln
z.B.
w = [9, 10, 3, 2, 8, 7, 7, 12, 3, 10, 7, 9, 9, 9, 3, 5, 7, 4, 7, 5]
Gesucht:
ein Dict
haeufigkeit
, das zu jeder Würfelsumme die absolute Häufigkeit angibt
Dieses Dict lässt sich dann sortieren.
Gesucht ist dann eine einfache Visualisierung:
drucke für jede Würfelzahl einen Balken aus. Die Balkenlänge entspricht der absoluten Häufigkeit eines Wurfs.
w = [9, 5, 7, 6, 12, 9, 9, 9, 8, 6, 6, 11, 5, 7, 7, 5, 5, 6, 7,
2, 4, 4, 6, 7, 7, 12, 11, 5, 9, 2, 11, 10, 4, 5, 9, 7, 7,
3, 8, 6, 10, 8, 8, 5, 9, 8, 7, 5, 4, 6, 7, 7, 2, 8, 5, 10,
6, 8, 9, 10, 2, 9, 10, 9, 5, 6, 9, 3, 8, 4, 8, 5, 4, 5, 7,
7, 7, 10, 4, 11, 8, 12, 9, 7, 6, 8, 2, 8, 5, 6, 4, 4, 8, 5,
8, 3, 6, 5, 4, 5]
haeufigkeit = {}
for x in w:
if not x in haeufigkeit:
haeufigkeit[x] = 1
else:
haeufigkeit[x] += 1
haeufigkeit
{9: 12, 5: 16, 7: 15, 6: 12, 12: 3, 8: 14, 11: 4, 2: 5, 4: 10, 10: 6, 3: 3}
h_sortiert_keys = {2: 5, 3: 3, 4: 10, 5: 16} # Beispiel
# haeufigkeit nach key sortieren
... #
h_sortiert_keys
{2: 5, 3: 3, 4: 10, 5: 16}
histogramm_liste = [ # Beispiel
' 2: xxxxx',
' 3: xxx',
' 4: xxxxxxxxxx',
' 5: xxxxxxxxxxxxxxxx'] # usw.
# hier die histogramm_liste programmieren:
... #
print("\n".join(histogramm_liste))
2: xxxxx
3: xxx
4: xxxxxxxxxx
5: xxxxxxxxxxxxxxxx
sorted#
sorted()
mit Parameter key:
https://docs.python.org/3/howto/sorting.html
Gegeben eine Liste von Datumsangaben als String:
datums = [ "2022.12.24", "2021.12.26", "2020.12.02" ]
Gesucht: diese Liste
aufsteigend sortiert
aufsteigend sortiert nach dem Tag