我有一个包含如下内容的列表:
numbers = [5,7,9,3,8]
我要打印从第一个元素开始的连续元素,并看到如下输出:
5,7
5,9
5,3
5,8
7,9
7,3
7,8
9,3
9,8
3,8
最后,它将打印元素,而不会重复任何两个元素
我已经尝试过
for e in numbers:
print(numbers[:])
但这给了我
[5, 7, 9, 3, 8]
[5, 7, 9, 3, 8]
[5, 7, 9, 3, 8]
[5, 7, 9, 3, 8]
[5, 7, 9, 3, 8]
那么如何解决
谢谢
答案 0 :(得分:0)
您可以使用combinations from itertools。
>>> from itertools import combinations
>>> numbers = [5, 7, 9, 3, 8]
>>> list(combinations(numbers, 2))
[(5, 7), (5, 9), (5, 3), (5, 8), (7, 9), (7, 3), (7, 8), (9, 3), (9, 8), (3, 8)]
答案 1 :(得分:0)
from itertools import combinations
numbers = [5,7,9,3,8]
combos = combinations(numbers, 2)
for combo in combos:
print(combo)
(5, 7)
(5, 9)
(5, 3)
(5, 8)
(7, 9)
(7, 3)
(7, 8)
(9, 3)
(9, 8)
(3, 8)