#filter #typeerror
Вопрос:
def depart(*data, func): answer_list = [] if '' in data: raise AttributeError('No arguments') for x in data: if type(x) == str: raise TypeError('Not only integer') break if len(str(x)) gt;= 3: raise TooLargeError('Too large numbers') break else: print(list(filter(func, *data))) data = [12, 69, 80, 6, 80, 89] f = lambda x: x % 3 print(*depart(*data, func=f)) #print(list(filter(func, *data))) #TypeError: filter expected 2 arguments, got 7
Я перепробовал все, что мог, и не могу это исправить.
Идея: в последнем print
я получаю отсортированный список , который будет использоваться в следующем. Должно получиться что-то вроде этого:
answer_list = [] sorted_data = [] data = [12, 69, 80, 6, 80, 89] f = lambda x: x % 3 sorted_data = list(filter(f, data)) for number in sorted_data: if number not in answer_list: answer_list.append(number)
Но эти строки должны быть использованы:
data = [12, 69, 80, 6, 80, 89] f = lambda x: x % 3 print(*depart(*data, func=f))