解答例 import random def partition(array): pivot = array[0] left = [] # 小さいもの pivots = [] # 同じ値のもの (自分自身も比較される) right = [] # 大きいもの for val in array: if val < pivot: left.append(val) elif val == pivot: pivots.append(val) else: right.append(val) return(left + pivots + right) a = [random.randint(0,100) for i in range(10)] print("before = {}".format(a)) print("pivot = {}".format(a[0])) print("after = {}".format(partition(a))) <実行例> tsuchiya@www1 python]$ python3 partition.py before = [17, 42, 2, 75, 13, 3, 53, 61, 70, 51] pivot = 17 after = [2, 13, 3, 17, 42, 75, 53, 61, 70, 51] [tsuchiya@www1 python]$ python3 partition.py before = [38, 74, 35, 12, 74, 30, 54, 24, 68, 50] pivot = 38 after = [35, 12, 30, 24, 38, 74, 74, 54, 68, 50] 実行例>