def distance(alist, blist):
sum_of = 0
for x in alist:
for y in blist:
ans = (x - y)**2
sum_of += ans
return (sum_of)**(1/2)
print(distance([1, 1, 3], [2, 2, 3])) #1.4142135623730951
print(distance([1, 2, 3], [2, 2, 3])) #1.0
print(distance([2, 2, 3], [2, 2, 3])) #0.0
print(distance([1, 1], [2, 2])) #1.4142135623730951
私は数字のリストを2つ与えてくれる一連のテストケースを持っています。私の仕事は、指定されたリストとユークリッド距離を計算することです。しかし、私は正しい結果を得ていません。私は代わりに3.7416573867739413、3.0、2.0、2.0を取得しています。これは私がこれまで行ってきたことであり、私は何が間違っているのか分かりません。与えられたリストでユークリッド距離を計算する
わかりました。あなたが説明を気にしないなら、正確に "ジップ"は何をしますか? – Laser
zip(...) ジップ(seq1 [、seq2 [...])) - > [(seq1 [0]、seq2 [0] ...)、(...)] リストを返す各タプルには引数の各シーケンスからのi番目の要素 が含まれています。返されるリストは、最も短い引数シーケンスの長さの長さが、 に切り捨てられます。 – kvivek
@EliezerShahidドキュメントを読むことで、組み込み関数や標準ライブラリ関数が何をするのかをいつでも知ることができます:['zip()'](https://docs.python.org/3/library/functions.html#zip)。 –