У меня есть обходной путь к следующему вопросу. Этот обходной путь будет циклом for с проверкой включения в вывод, как показано ниже:
#!/usr/bin/env python
def rem_dup(dup_list):
reduced_list = []
for val in dup_list:
if val in reduced_list:
continue
else:
reduced_list.append(val)
return reduced_list
Я задаю следующий вопрос, потому что мне любопытно посмотреть, есть ли решение для понимания списка.
Учитывая следующие данные:
reduced_vals = []
vals = [1, 2, 3, 3, 2, 2, 4, 5, 5, 0, 0]
Почему
reduced_vals = = [x for x in vals if x not in reduced_vals]
составить такой же список?
>>> reduced_vals
[1, 2, 3, 3, 2, 2, 4, 5, 5, 0, 0]
Я думаю, что это как-то связано с проверкой вывода(reduced_vals
)как часть задания к списку. Мне любопытно, однако, что касается точной причины.
Спасибо.