Ich habe eine Liste erzeugt und möchte diese gerne in eine Menge überführen
meine liste ist: L = [ ]
und wird mit zufallszahlen gefüllt.
diese möchte ich nun in einer Menge überführen. Wie geht das mit 'set()'?
Danach möchte ich in der Menge eine Überprüfung anstellen, z.B.: ob Werte zwischen 1. und 10 darin enthalten sind.
Kann mir da jemand weiterhelfen?
Liste in Menge
Eventuell suchst du any.
Code: Alles auswählen
>>> import random
>>> data = [random.randint(1, 20) for _ in range(10)]
>>> print any(True for value in data if 1 < value < 10)
True
Code: Alles auswählen
any(1 < value < 10 for value in data)
Das Leben ist wie ein Tennisball.
Hmm, also kann ich die Listeninhalte nicht einfach in eine Menge überführen?
Und das soll jetzt von der Liste in eine Menge.
Code: Alles auswählen
import random
def f():
L = [ ]
for i in range(1,1001):
i = random.randrange(1, 101)
L.append(i)
return(L)
@duodiscus: Wie das geht hat Sirius3 doch schon gezeigt.
Edit: Du solltest Dir übrigens gar nicht erst angewöhnen so schlechte, weil nichtssagende Namen zu verwenden. Und nicht den selben Namen für verschiedene Dinge im gleichen Kontext verwenden. Das `i` sollte entweder als Laufvariable verwendet werden oder für ganze Zufallszahlen, aber nicht für beides in der selben Schleife. Das ist verwirrend.
Edit:
Bei der Gelegenheit kannst Du dann gleich mal ausrechnen wie (un)wahrscheinlich es ist, dass bei *den* Eingabezahlen kein `set` mit allen 100 möglichen Werten heraus kommt.
Edit: Du solltest Dir übrigens gar nicht erst angewöhnen so schlechte, weil nichtssagende Namen zu verwenden. Und nicht den selben Namen für verschiedene Dinge im gleichen Kontext verwenden. Das `i` sollte entweder als Laufvariable verwendet werden oder für ganze Zufallszahlen, aber nicht für beides in der selben Schleife. Das ist verwirrend.
Edit:
Code: Alles auswählen
from random import randint
def create_random_numbers(count, min_value, max_value):
return [randint(min_value, max_value) for _ in xrange(count)]
def main():
random_numbers = create_random_numbers(1000, 1, 100)
random_numbers_without_duplicates = set(random_numbers)
print random_numbers_without_duplicates
if __name__ == '__main__':
main()