Given a Python list, calculate and return the difference between the second largest number and the second smallest number. Assume that the list contains two or more elements.
Function Specifications:
The second largest / smallest must be different to the largest / smallest number in a list. That is:

```
difference([10, 10, 10, 8, 5, 2, 1, 1, 1]) == 8 - 2 == 6

```

Should take a list as input.

```
def difference(list1):

    # Your code here

    return* 

```