Code: Alles auswählen
ys = [f(x) for x in xs if p(x)]
#
# Zucker für:
#
ys = list()
for x in xs:
if p(x):
ys.append(f(x))
# ----
ys = (f(x) for x in xs if p(x))
#
# Zucker für:
#
def gf():
for x in xs:
if p(x):
yield f(x)
ys = gf()
# ----
def gf():
init()
while True:
if end_condition():
break
yield next_result()
#
# Zucker für:
#
class Iterator(object):
def __init__(self):
init()
def __iter__(self):
return self
def next(self):
if end_condition():
raise StopIteration
return next_result()
gf = Iterator()
# ----
with create_context() as c:
do_something(c)
#
# Zucker für (vereinfacht):
#
c = create_context().__enter__()
try:
do_something(c)
finally:
c.__exit__()
# ----
lambda x: do_something(x)
#
# Zucker für:
#
def temporary_name(x):
return do_something(x)
# ----
for x in xs:
do_something(x)
#
# Zucker für:
#
xs_iterator = iter(xs)
while True:
try:
x = xs_iterator.next()
except StopIteration:
break
do_something(x)
# ----
def f():
do_something()
#
# Zucker für:
#
class F(object):
def __call__(self):
do_something()
f = F()