Python zufällige Listen auswählen und ausgeben?
Hallo! :D Bin ein Python-Beginner, hatte auch vorher nicht viel mit Programmieren am Hut.
Ich möchte ein bisschen rumspielen und habe nun das Problem, dass ich gerne mehrere Informationen gleichzeitig ausgeben möchte. Also brauche ich Listen. Dazu kommt, dass ich mit jeder Liste einen bestimmten Algorithmus durchgehen möchte. Da ich aber nicht für jede Liste alles Kopieren muss, brauche ich irgendwie eine Schleife, die den Algorithmus mit jeder Liste durchführt. Das Problem ist aber, dass ich jede Liste direkt auswählen muss und dem Computer nicht sagen kann, dass er so und so die Listen nehmen muss.
Um das konkret zu machen, habe ich ein anderes kleines Programm geschrieben, wo die Problematik einfacher zu verstehen ist (vielleicht).
Es soll eine zufällige Liste nehmen und ausgeben.
Ich möchte es aber nicht so wie im Bild machen, in dem ich wieder alles zurückübersetze (1=e usw.). Man stelle sich vor, ich habe 20 Listen, wo es am Ende auch hingehen wird, das möchte ich ehrlich gesagt effizienter machen.
Kann mir jemand einen Tipp geben? :(
Ich bedanke mich schon mal im voraus! :D
Das Bild wurde irgendwie nicht dazu geschickt...
Also wenn ich es richtig verstehe, willst du dedizierte Listen bei bestimmten Indexwerten zurückgeben?
Ich habe die Liste e und f.Und die Aufgabe des Programms ist, eine zufällige von beiden auszuwählen und sie auszugeben.Wie im Bild, nur bei vielen Listen wird es blöd; das Problem.
2 Antworten
Also wenn ich es richtig verstanden habe,willst du eine zufällige Liste mit der print Funktion ausgeben ohne if-elif-else.
Ich würde das dann so machen
from random import *
lists = [[1, 2], [3, 4]]
x = choice(lists)
print(x)
Zuerst hab ich eine Liste erstellt,die andere Listen enthält.Dann wird mit der choice Funktion ein zufälliges Element aus der Liste ausgewählt.Das die Lisze andere Listen als Element enthält,wird eine Liste ausgegeben.
Ich hoffe ich konnte dir helfen
Viele Grüße
Zerstoerer0711
Ja das würde dann so aussehen;
from random import *
lists = [[1, 2], [3, 4]]
x = randint(0, 1)
print(lists[x])
Stimmt,allgemein wäre das Sinnvoller, aber ich wollt das so simple wie möglich halten.
Ich bin nicht sicher ob ich deinen Wunsch richtig verstanden haben, aber du könntest zum Beispiel alle Listen in einer Liste speichern.
https://www.delftstack.com/de/howto/python/list-of-lists-in-python/
Dann lässt du es einfach iterativ mit einer normalen for Schleife bis len(liste) laufen und kannst so jede Liste ausgeben. Wenn dort noch irgendwelche Bedingungen abgefragt werden müssen, kannst du ja immer noch mit Abfragen und Verzweigungen arbeiten.
Vielen Dank, das hilft mir weiter! :D
Könnte ich auch per randint eine Zahl ausgeben lassen, die dann den Index beschreibt, welcher dann ausgegeben werden soll?