首页 > 解决方案 > 生成没有重复元组的列表并且没有(a,b)和(b,a)元组,python

问题描述

如何生成元素不重复的元组列表?此外,如果列表中有 (a,b) 元组,则不会在此列表中生成 (b,a)。

我从这里使用下面的代码,但它不提供第二个条件:

[tuple(i) for i in np.random.randint(5242, size=(500,2))]

标签: pythonnumpyrandom

解决方案


我不确定你是否会得到任何一种单线来干净地做到这一点。我只会做类似的事情:

num_set = set()
while len(num_set) < 500:
    a, b = random.randint(0, 5242), random.randint(0, 5242)
    if (b, a) not in num_set:
        num_set.add((a, b))
num_list = list(num_set)

推荐阅读