Полагаю, вы хотите сохранить индексы из исходной последовательности.
Таким образом, то, что вы хотите, это то, что помнит, по какому индексу было значение
впервые увиденный в оригинальной последовательности.
Проблема в вашем состоянии с
if intlist[i] not in noDuplist:
# something
проверит, присутствует ли 4
в [[19, 0], [4, 1], [2, 2]]]
, а это не так.
Более чистый способ сделать это - использовать словари или наборы .:
intlist = [19,4,2,4]
seen_so_far, noDuplist = set(), []
for i, v in enumerate(intlist):
if v not in seen_so_far:
noDuplist.append([v, i])
seen_so_far.add(v)
print(noDuplist)
Что дает на выходе [[19, 0], [4, 1], [2, 2]]