Python - 使用列表理解写出组合的所有元组
Python - Write all tuples of a combination using list comprehension
我想创建所有对 (i, j)
,这样 i
从 0
到 n-1
,j
从 i
至 n-1
。基本上,这些是两个长度为 n
.
的列表的所有唯一组合
例如,如果 n=3
那么我想得到
[(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)]
如果我可以通过列表理解来做到这一点,那就太好了。漫长的道路将是
n = 3
tuples = []
for i in range(n):
for j in range(i, n):
tuples.append((i, j))
我已经尝试过这个列表理解,但没有成功
tuples = [(i,j) for i in range(3) and j in range(i, 3)]
只需切换循环顺序即可:
tuples = [(i,j) for i in range(3) for j in range(i, 3)]
输出:
Out[425]: [(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)]
我想创建所有对 (i, j)
,这样 i
从 0
到 n-1
,j
从 i
至 n-1
。基本上,这些是两个长度为 n
.
例如,如果 n=3
那么我想得到
[(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)]
如果我可以通过列表理解来做到这一点,那就太好了。漫长的道路将是
n = 3
tuples = []
for i in range(n):
for j in range(i, n):
tuples.append((i, j))
我已经尝试过这个列表理解,但没有成功
tuples = [(i,j) for i in range(3) and j in range(i, 3)]
只需切换循环顺序即可:
tuples = [(i,j) for i in range(3) for j in range(i, 3)]
输出:
Out[425]: [(0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2, 2)]