Hi team,

In this exercise, I just found out that the naming of the iteration variable plays an important role in achieving the desired output. The output that we want is to display the indices of both lists (lst1 and lst2) that contains the same element when compared. Please see the function I created below:

```
#Write your function here
def same_values(lst1, lst2):
new_lst = []
for x in range(len(lst1)):
for x in range(len(lst2)):
if lst1[x] == lst2[x]:
new_lst.append(x)
return new_lst
#Uncomment the line below when your function is done
print(same_values([5, 1, -10, 3, 3], [5, 10, -10, 3, 5]))
```

The result of this function is (FYI this is the correct answer)

```
[0, 2, 3]
```

But, when I do the following, which is changing the name of the second iteration variable in the second For-Loop.

```
#Write your function here
def same_values(lst1, lst2):
new_lst = []
for x in range(len(lst1)):
for y in range(len(lst2)):
if lst1[x] == lst2[y]:
new_lst.append(x)
return new_lst
#Uncomment the line below when your function is done
print(same_values([5, 1, -10, 3, 3], [5, 10, -10, 3, 5]))
```

The result is as follow (the wrong one)

```
[0, 0]
```

So my question is how does the computer read the two code differently? I tried to figure out the logic behind this but not getting there yet.

I would appreciate any help that I can get

Jimmy