gpt4 book ai didi

python - 从 python 列表生成对

转载 作者:太空狗 更新时间:2023-10-30 02:58:31 24 4
gpt4 key购买 nike

我正在尝试从 python 中的列表中生成一堆对 --- 我想出了一种使用 for 循环来实现它的方法:

keys = range(10)
keypairs = list()
for i in range(len(keys)):
for j in range(i+1, len(keys)):
keypairs = keypairs + [(keys[i], keys[j])]

是否有更“python 风格”的方式来做到这一点?我的方法好像不是很优雅...

最佳答案

你想要两个范围循环,一个从 0 到 n,另一个从第一个范围的每个 i + 1 到 n 使用列表 comp:

n = 10
pairs = [(i, j) for i in range(n) for j in range(i+1, n)]
from pprint import pprint as pp
pp(pairs,compact=True)


[(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (1, 2),
(1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (2, 3), (2, 4), (2, 5),
(2, 6), (2, 7), (2, 8), (2, 9), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9),
(4, 5), (4, 6), (4, 7), (4, 8), (4, 9), (5, 6), (5, 7), (5, 8), (5, 9), (6, 7),
(6, 8), (6, 9), (7, 8), (7, 9), (8, 9)]

与您的输出完全匹配。

关于python - 从 python 列表生成对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33696127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com