2

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]

そのために気紛れなワンライナーを持っている人はいますか?ありがとう!

4

2 に答える 2

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

min は組み込み関数です。

于 2009-05-14T08:27:07.433 に答える
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)
于 2013-06-21T12:44:11.687 に答える