Условие, при котором вы пытаетесь игнорировать дубликаты, неверно.
Вы добавляете в список пар (u_names[x].value, u_company[x].value)
.Это нормально и имеет смысл.Проблема в том, что вы проверяете, есть ли (u_names[x].value, u_names[x].value)
в списке.
Кроме того, даже если это было то же самое, вы просто ничего не делаете, когда находите дубликат.Ваш оператор else после for
будет всегда выполняться!Это связано с тем, что оператор else после цикла for
происходит, когда цикл завершается без нажатия на оператор break
.Итак, что вы хотите сделать, это:
for x in range(len(u_names)):
if u_company[x].value==None #in case a field is missing
continue
r = (u_names[x].value, u_company[x].value)
if r in l:
continue
else:
l.append(t)
print("Number of contacts:", len(l))