Проблема в том, что unique_items
- это генератор, поэтому
senderDupSend = unique_items(ip, 4, True)
- это генератор, который необходимо повторить.Когда вы запускаете
for item in foundUnique:
print item
, генератор на самом деле еще не работал, поэтому foundUnique
все еще пуст.
Когда вы позже продолжите делать
for item in senderDupSend: # This is what actually fills the list.
print item
for item in foundUnique:
print item
Itследует распечатать набор дважды: один раз во время его создания и один раз после его создания.
Кажется, что вы пытаетесь создать набор, у которого одинаковый индекс взят из каждогоэлемент некоторой последовательности.Вы можете сделать это очень легко:
found_unique = set(item[index] for item in sequence)
В конкретном случае, который вы показываете, это будет:
found_unique = set(item[4] for item in ip)
Если вы позже захотите расширить набор для включения другихпредметы, которые вы могли бы сделать
found_unique.union(item[4] for item in other_ip_list)