l = [(1, 5), (-2, -5), (8, 9), (-8, 10)] # l を点 (-3, 5) から近い順に並べ替えてください。 #解答→[(1, 5), (-8, 10), (-2, -5), (8, 9)] def ma(i,j): r = (-3 - i ) ** 2 + (5 - j) ** 2 return r for i,j in l: m = ma(p,k) l.sort(key = ma(p,k)) print(l)
おはようございます。
上記の問題を解いています。
ソートの学習と関数の学習をおこなっており、lのリストない(x,y)軸が基準軸の(-3,5)から近い順に並び替える問題です。
そのとき、sort(key = ?)の形式でコードを記述するのですが、いまいちうまく動きません。
for文を使用し、各箇所の拠点からの距離を求め、リストに追加し、それをソートしましたが、それだと問題の趣旨に反していてNGです。。。
どなたかアドバイスをお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/28 03:09
2018/09/28 04:44
2018/09/28 06:03