Найти - Пользователи
Полная версия: туплю помогите
Начало » Python для новичков » туплю помогите
1
Malinaizer
def x(a, b):
for c in b:
yield a(*c)

как к ней обратиться?
lightcaster
Типичный способ:
for item in x(a, b):
#do something
Либо напрямую:
gen = x(a, b)
item = gen.next()
ps аргумент ‘a’ - это функция?
Malinaizer
спасибо! я знаю что это функция “*-это apply синтаксис”, только мне не понятно что она должна принять в виде аргумента?
pasaranax
Насколько я понял, 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
pasaranax
Насколько я понял, 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
все понял она может принять в первом аргументе встроенную функцию zip я так и делал просто во втором аргументе ошибался! а где здесь понять что b должен быть списком?
pasaranax
Malinaizer
а где здесь понять что b должен быть списком?
for c in b:  # следовательно b - итерируемый объект
yield a(*c) # a может принимать список или кортеж параметров (в данном случае только это и может), следовательно c, элемент b, тоже итерируемый
Значит b - двумерный список, список строк или что-то подобное. А ты что ему скармливал в качестве b?
o7412369815963
Malinaizer
а где здесь понять что b должен быть списком?
тут: for c in b:
“б” перебераем как список
Malinaizer
pasaranax
Malinaizer
а где здесь понять что b должен быть списком?
for c in b:  # следовательно b - итерируемый объект
yield a(*c) # a может принимать список или кортеж параметров (в данном случае только это и может), следовательно c, элемент b, тоже итерируемый
Значит b - двумерный список, список строк или что-то подобное. А ты что ему скармливал в качестве b?
кортеж чисел)))
pasaranax
У меня исключение вылезает, если вот так делать:
for i in x(a, (1, 2, 3)):
print i
Malinaizer
pasaranax
У меня исключение вылезает, если вот так делать:
for i in x(a, (1, 2, 3)):
print i
так и у меня тоже исключение, вот я и думала что туплю)))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB