l = []
for i in range(10):
if i % 2 == 0:
l.append(i)
print(l)
Das Gleiche gilt für die Listeneinschlussnotation
l = [i for i in range(10) if i % 2 ==0]
print(l)
Ausgabe
[0, 2, 4, 6, 8]
w = ['Monday', 'Tuesday','Friday']
f = ['banana', 'apple', 'orange']
d= {}
for x, y in zip(w,f):
d[x]=y
print(d)
Das Gleiche gilt für die Wörterbucheinschlussnotation
w = ['Monday', 'Tuesday','Friday']
f = ['banana', 'apple', 'orange']
d = {x:y for x,y in zip(w,f)}
print(d)
Ausgabe
{'Monday': 'banana', 'Tuesday': 'apple', 'Friday': 'orange'}
s = set()
for i in range(10):
if i % 2 == 0:
s.add(i)
print(s)
Das Gleiche gilt für die Set-Inclusion-Notation
s = {i for i in range(10) if i % 2 == 0}
print(s)
Ausgabe
{0, 2, 4, 6, 8}
def g():
for i in range(10):
if i % 2 == 0:
yield i
g = g()
print(next(g))
print(next(g))
print(next(g))
print(next(g))
Das gleiche passiert in der Generatorformel wie folgt.
g = (i for i in range(10) if i % 2 == 0)
print(next(g))
print(next(g))
print(next(g))
print(next(g))
Ausgabe
0
2
4
6
Darüber hinaus heißt es im offiziellen Dokument "Generatornotation", nicht "Generatoreinschlussnotation". https://docs.python.org/ja/3/reference/expressions.html#generator-expressions
Ein Generatorausdruck ist eine kompakte Generatornotation mit Klammern: Der Generatorausdruck gibt ein neues Generatorobjekt an. Diese Syntax ähnelt der Einschlussnotation, ist jedoch in Klammern anstelle von quadratischen oder wellenförmigen Klammern eingeschlossen.
Recommended Posts