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