fab*_*aia 5 python combinations list
给定一个列表,我如何获得两个非连续项之间的所有组合?
例如,输入[1, 2, 3, 4, 5]如何获得输出[(1,3), (1,4), (1,5), (2,4), (2,5), (3,5)]?
我不感兴趣的(1,2),(2,3),(3,4)或(4,5)因为他们是连续的(即彼此相邻)在列表中,但一切我很感兴趣.
在Python中最常用的方法是什么?
一个简单的列表理解:
>>> lst = [1, 2, 3, 4, 5]
>>> [(a, b) for i, a in enumerate(lst) for b in lst[i+2:]]
[(1, 3), (1, 4), (1, 5), (2, 4), (2, 5), (3, 5)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |