def x(a, b):
for c in b:
yield a(*c)
как к ней обратиться?
for item in x(a, b):
#do something
gen = x(a, b)
item = gen.next()
def a(*c):
return c
def x(a, b):
for c in b:
yield a(*c)
for i in x(a, ["qwe", "rty", "uio"]):
print i
pasaranaxвсе понял она может принять в первом аргументе встроенную функцию zip я так и делал просто во втором аргументе ошибался! а где здесь понять что b должен быть списком?
Насколько я понял, b должен быть как минимум двумерным списком.
То есть применяется примерно так:def a(*c):
return c
def x(a, b):
for c in b:
yield a(*c)
for i in x(a, ["qwe", "rty", "uio"]):
print i
Malinaizer
а где здесь понять что b должен быть списком?
for c in b: # следовательно b - итерируемый объект
yield a(*c) # a может принимать список или кортеж параметров (в данном случае только это и может), следовательно c, элемент b, тоже итерируемый
Malinaizerтут: for c in b:
а где здесь понять что b должен быть списком?
pasaranaxкортеж чисел)))Malinaizer
а где здесь понять что b должен быть списком?Значит b - двумерный список, список строк или что-то подобное. А ты что ему скармливал в качестве b?for c in b: # следовательно b - итерируемый объект
yield a(*c) # a может принимать список или кортеж параметров (в данном случае только это и может), следовательно c, элемент b, тоже итерируемый
for i in x(a, (1, 2, 3)):
print i
pasaranaxтак и у меня тоже исключение, вот я и думала что туплю)))
У меня исключение вылезает, если вот так делать:for i in x(a, (1, 2, 3)):
print i