Сгенерировать все возможные комбинации из списка int под лимитом

Мне нужно сделать это в Python. Имеется заданный список l, может содержать более 5000 целых элементов. Существует ограничение на сумму чисел, 20000 или может быть больше. На выходе должны быть все возможные суммы двух чисел, выбранных из списка, Например,

l=[1,2,3,4,5,6,7,8,9]
output 
1+1,1+2,1+3,1+4,1+5,1+6...........
2+2,2+3,2+4.......
.........
.......

2,3,4,5,6... like that

Я использую этот код, делаю это сейчас, Но это медленно

l=listgen()
p=[]
for i in range(0,len(l)):
    for j in range(i,len(l)):
        k=l[i]+l[j]
        if k not in p:
            p.append(k)
p.sort
print(p)

listgen()это функция, которая генерирует входной список.

5
задан jamylak 3 August 2012 в 09:31
поделиться