Two ways to remove duplicates from a list The question is - Write a program to remove the duplicates in a list
Here's how I did it-
numbers = [1, 1, 1, 3, 3, 7, 7]
for i in numbers:
    while numbers.count(i) &gt; 1:
        numbers.pop(numbers.index(i))
print(numbers)

Here's how the teacher in the youtube video did it-
numbers = [2, 2, 4, 4, 6, 6]
uniques = []
for number in numbers:
    if number not in uniques:
        uniques.append(number)
print(uniques)

I know both the programs are objectively different in terms of how they do the task and the second program will I reckon consume more memory to create the new list however given the question which is the better approach and for what reasons?
The teacher is obviously using a better way. Check/read more about time complexity for lists in python here (python wiki).
In your case, you are going for a time complexity:

\$ O(n) \$ for iteration
\$ O(n) \$ for .count()
\$ O(n) \$ for intermediate pop
\$ O(n) \$ for .index

for a final (worst case) time: \$ O(n^2) \$ (see explanation in comments from superb rain).
In case of the tutorial:

\$ O(n) \$ for iteration
\$ O(k) \$ for not in check (using \$ k \$ since the list is different now.
\$ O(1) \$ for append

generating a worst case performance of \$ O(n \cdot k) \$.

A more efficient solution, disregarding the order of elements would be the call:
uniques = list(set(numbers))

as suggested in comments. This would have \$ O(n) \$ time.