**Python:** 3.5

**Test Runtime:** 4476 ms

using `from itertools import combinations as combine`

Single line solution:

```
return next(([nums.index(x), nums.index(y, nums.index(x)+1)] for (x,y) in combine(nums, 2) if(x + y == target)), None)
```

Slightly expanded:

```
for x, y in combine(nums, 2):
if x + y == target:
return([nums.index(x), nums.index(y,nums.index(x)+1)])
```

What I'd actually use for readability:

```
for x, y in combine( nums, 2 ):
if x + y == target:
index1 = nums.index( x )
index2 = nums.index( y, index1 + 1 )
return( [ index1, index2 ] )
```