PythonプログラミングノックDay249 初心者向けソート・探索 #プログラミング #python #初心者

初心者

初心者向けのPythonのプログラミング問題です。入門編としてチャレンジしてください。Pythonの正答例は以下になります。

問題742
def filter_and_sort_by_start(lst, ch):
filtered = [w for w in lst if w.startswith(ch)]
return sorted(filtered, key=len)

# 呼び出し例
words = [“apple”, “ant”, “banana”, “anchor”]
print(filter_and_sort_by_start(words, “a”))
# 出力: [‘ant’, ‘apple’, ‘anchor’]

問題743
def closest_to_median(lst):
lst_sorted = sorted(lst)
n = len(lst_sorted)
median = lst_sorted[n//2] if n % 2 else (lst_sorted[n//2 – 1] + lst_sorted[n//2]) / 2
return min(lst_sorted, key=lambda x: abs(x – median))

# 呼び出し例
lst = [1, 3, 5, 7, 9]
print(closest_to_median(lst)) # 出力: 5

問題744
def sort_students(data):
return sorted(data, key=lambda x: (-x[1], x[0]))

# 呼び出し例
students = [(“Bob”, 80), (“Alice”, 80), (“Charlie”, 75)]
print(sort_students(students))
# 出力: [(‘Alice’, 80), (‘Bob’, 80), (‘Charlie’, 75)]

コメント

タイトルとURLをコピーしました