当前位置:  开发笔记 > 编程语言 > 正文

从Python中的列表中选择三个不同的值

如何解决《从Python中的列表中选择三个不同的值》经验,为你挑选了2个好方法。

我有一个带坐标的点列表,如下所示:

[(0,1),(2,3),(7,-1) and so on.]

什么是Pythonic迭代它们并每次选择三种不同的方法?我找不到比使用这样的三个for循环更简单的解决方案:

for point1 in a:
    for point2 in a:
        if not point1 == point2:
        for point3 in a:
            if not point1 == point3 and not point2 == point3:

所以我在寻求帮助.



1> jgritty..:
import random

lst = [(0, 1), (2, 3), (7, -1), (1, 2), (4, 5)]

random.sample(lst, 3)

这将只从列表中随机选择3分.看来你可能想要一些不同的东西.你能澄清一下吗?



2> Delgan..:

你可以使用itertools.combinations:

from itertools import combinations

for point1, point2, point3 in combinations(points, 3):
    ...

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有