在python中给出一个条件,获取一个唯一的列表/元组元素

时间:2009-05-14 08:18:23

标签: python list tuples conditional-statements

如何在python中给出条件的元组/列表元素? 这经常发生,我正在寻找一种很好的几行 - pythonic方式来做到这一点。

这里可以是一个例子:

考虑一个包含2D点坐标的元组,如下所示:

points = [[x1, y1],[x2, y2],[x3, y3], ...]

我想得到 点,在给定任意点的情况下最小化欧氏距离(比如[X,Y],我的观点是:它不包含在列表中!)

def dist(p1, p2):
    return sqrt((p2[0]-p1[0])**2+(p2[1]-p1[1])**2)
pointToCompare2 = [X, Y]

任何人都有一个怪异的一个班轮(或不是)? 谢谢!

2 个答案:

答案 0 :(得分:11)

min(points, key=lambda x: dist(pointToCompare2, x))

min is a built-in function

答案 1 :(得分:0)

v = [1,3,2,4,7,3,3,4,5,11]

def get_num_uniques(v):
    count = []
    dup = []
tmp = []
for i in v:
    if i not in count:
        count.append(i)
    else:
        dup.append(i)
        count.remove(i)
for j in count:
    if j not in dup:
        tmp.append(j)

return tmp

#Call the function
print get_num_uniques(v)