dポイントプレゼントキャンペーン実施中!

初歩的な質問ですが、pythonでリストの要素を小さい順に並び替えるコードを書いています。

a = [3,5,1,8,4,9,7]
b = []
for n in range (len(a)):
 minimun = min(a)
 mini_index = a.index(min(a))
 b.append(minimum)
 a.pop(mini_index)
 print(a)
print(b)

結果は

[3, 5, 8, 4, 9, 7]
[5, 8, 4, 9, 7]
[5, 8, 9, 7]
[8, 9, 7]
[8, 9]
[9]
[]
[1, 1, 1, 1, 1, 1, 1]

となります。
最小値が最初のリストaの最小値から更新されていないようですが、
リストaはループごとに最小値を削除して更新されているので、次のループで最小値も新しい最小値に更新されるのはと思ったのですが、そうならないのはなぜでしょうか。
宜しくお願い致します。

A 回答 (1件)

>minimun = min(a)



minimum = min(a)

綴りミス?
ここを直したら、

[3, 5, 8, 4, 9, 7]
[5, 8, 4, 9, 7]
[5, 8, 9, 7]
[8, 9, 7]
[8, 9]
[9]
[]
[1, 3, 4, 5, 7, 8, 9]

こうなったけど?
    • good
    • 0
この回答へのお礼

ありがとうございます。
スーパー凡ミス大変失礼しました。
引き続きよろしくお願い致します。

お礼日時:2020/02/27 14:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!