Python列表中的组合

问题描述 投票:1回答:2

所以我在python中得到了这样的列表:

[1,2,3,4]

而且我希望数字3与每个数字之间的组合是这样的:

[(1,3),(2,3),(3,4)]

我可以使用某些东西吗?我知道有一个叫做itertools的东西,但是我有点新,所以我不确定如何使用它。

谢谢!

python list combinations itertools
2个回答
0
投票

您可能想使用列表理解:

orig_list = [1,2,3,4]
[(_, 3) for _ in orig_list if _ != 3] # [(1, 3), (2, 3), (4, 3)]

-1
投票

您可以使用:

l = [1,2,3,4]
[(l[i], 3) for i in range(l.index(3))] + [(3, l[i]) for i in range(l.index(3)+1, len(l))]

给出输出

[(1, 3), (2, 3), (3, 4)]
© www.soinside.com 2019 - 2024. All rights reserved.