Итак, я пытаюсь написать эту функцию генератора, и вот как я пытаюсь написать ее, но она не работает, и я не слишком уверен, как явно вызывать 'iter'.Будем благодарны за любую помощь!
Напишите генератор с именем skip_until, который принимает в качестве аргументов предикат и любые итерируемые;он пропускает создание начальных значений, созданных итерируемым, для которого предикат возвращает False, а затем создает первое значение, для которого предикат оценивается как True, и выдает все остальные после этого, удовлетворяют ли они предикату или нет.Например, повторение:
skip_until(lambda x: len(x) > 1, ['x', 'y', 'abc', 'a', 'xyz'])
пропустит создание 'x' и 'y' (потому что их длины не> 1), но затем выдаст значения 'abc', 'a', а затем 'xyz '(потому что' abc 'является первым значением, длина которого> 1, поэтому оно и все последующие значения создаются. Вызовите iter явно.' ''
def skip_until(p,iterable)
for i in range(iterable):
if p(i) == True:
for x in range(i,len(iterable)):
print(x)
else:
pass
Как я могу вызвать iter явно, чтобы получитьправильные результаты?