Es gibt keine If-Schleife - weil da nichts in einer Schleife läuft.
Dann brech das Problem weiter runter.
Deine "Werte" in dem dict sind einen Datenstruktur. Wie kann man die Anzahl von Elementen in einer solchen Struktur herausfinden?
Key mit den meisten Werten in dictionary erhalten?
-
- User
- Beiträge: 12
- Registriert: Dienstag 11. Juni 2019, 07:02
@sparrow
mit der len() function?
mit der len() function?
@saibot9393: Programmieren heißt nicht, so lange im Internet suchen, bis man die passende Lösung gefunden hat.
Die Maximale Länge ermitteln, besteht wieder aus zwei Teilaufgaben: ermitteln der Länge für jeden Wert (hast Du schon), ermitteln des Maximums all dieser Zahlen (hast Du auch schon). Wenn Du jetzt noch die beiden Teile passend kombinierst, hast Du den ersten Schritt schon, der zweite kommt dann.
Die Maximale Länge ermitteln, besteht wieder aus zwei Teilaufgaben: ermitteln der Länge für jeden Wert (hast Du schon), ermitteln des Maximums all dieser Zahlen (hast Du auch schon). Wenn Du jetzt noch die beiden Teile passend kombinierst, hast Du den ersten Schritt schon, der zweite kommt dann.
-
- User
- Beiträge: 12
- Registriert: Dienstag 11. Juni 2019, 07:02
@Sirius3
genau das fällt mir schwer ohne Vorlage.. ich weiß dass es das nicht heißt, aber wie gesagt ich bin totaler Anfänger und für das hab ich schon einige meiner Aufgaben geschafft ohne Hilfe!
Ich habe vor 2 Monaten angefangen, ich bin vielleicht nicht so begabt wie andere. Ich habe keine Ausbildung in Informatik oder sonst was. Mir ist nichts Schritt für Schritt erklärt worden
genau das fällt mir schwer ohne Vorlage.. ich weiß dass es das nicht heißt, aber wie gesagt ich bin totaler Anfänger und für das hab ich schon einige meiner Aufgaben geschafft ohne Hilfe!
Ich habe vor 2 Monaten angefangen, ich bin vielleicht nicht so begabt wie andere. Ich habe keine Ausbildung in Informatik oder sonst was. Mir ist nichts Schritt für Schritt erklärt worden
@saibot: Ich habe keine Ausbildung in Informatik, mir ist nichts Schritt für Schritt erklärt worden und alles was ich weiß, habe ich mir autodidaktisch selbst beigebracht. Da ist sicherlich noch viel Luft nach oben, aber ich weiß auch, dass man im Leben nie aufhört zu lernen.
Jetzt könntest du eine List Comprehension einsetzen (das wäre dann ein Einzeiler), aber das setzt voraus, dass du verstehst was die tun.
Du kannst es aber auch auf dem langen Weg tun. Und das würde ich dir in diesem Fall raten.
Also, wie ermittelst du, welche der größte Wert ist? Per Hand? Gibt es da eine Funktion in Python?
Und das musst du dann gemeinsam einsetzen, um erst einmal die größte Anzahl von Elementen in einem Wert herauszufinden.
Jetzt könntest du eine List Comprehension einsetzen (das wäre dann ein Einzeiler), aber das setzt voraus, dass du verstehst was die tun.
Du kannst es aber auch auf dem langen Weg tun. Und das würde ich dir in diesem Fall raten.
Also, wie ermittelst du, welche der größte Wert ist? Per Hand? Gibt es da eine Funktion in Python?
Und das musst du dann gemeinsam einsetzen, um erst einmal die größte Anzahl von Elementen in einem Wert herauszufinden.
-
- User
- Beiträge: 12
- Registriert: Dienstag 11. Juni 2019, 07:02
Code: Alles auswählen
lengths = [(key, len(value)) for key, value in vars.items()]
max(lengths, key=lambda x: x[1])
result = []
for i in lengths:
if i[1] >= 4020:
result.append(i)
@saibot9393: der Aufruf von `max` ohne dass man etwas mit dem Rückgabewert macht, ist unsinnig.
Variablen sollten aussagekräftig sein, dann wird auch gleich viel klarer, was eigentlich passiert.
`i` für ein Tuple aus key und length ist ein schlechter Name.
Bei `result` sind deshalb auch die Tuple-Elemente ziemlich witzlos, weil der zweite Wert immer 4020 ist, und eigentlich nur der Schlüssel interessant ist.
Variablen sollten aussagekräftig sein, dann wird auch gleich viel klarer, was eigentlich passiert.
`i` für ein Tuple aus key und length ist ein schlechter Name.
Bei `result` sind deshalb auch die Tuple-Elemente ziemlich witzlos, weil der zweite Wert immer 4020 ist, und eigentlich nur der Schlüssel interessant ist.
Code: Alles auswählen
max_length = max(map(len, vars.values()))
result = {k: v for k,v in vars.items() if len(v) == max_length}