python おさらい その6
標準入力+1で出力
1 | print ( int ( input ()) + 1 ) |
次にリストの中に重複した値があるか true false で判定
1 2 3 4 5 6 | list = [ "HND" , "NRT" , "KIX" , "NGO" , "NGO" ] flag = len ( list ) ! = len ( set ( list )) if flag: print ( "true" ) else : print ( "False" ) |
を参考に
set() にリストを渡すと重複する値は無視されて
位置地な値のみになるので
これを len() で比較すれば重複した要素があるか判定できる
最後の判定は true で出力なので
そのまま処理結果を出すと True になる
python の set() について調べたいなら
Pythonのsetの基本的な使い方 : set()
も参考に
リストとの違いは要素に順番を持たず
重複した値は取り除かれるということ
次にリストの中から同じ要素のカウント
1 2 3 4 5 6 7 8 9 10 11 12 | array = [ "HND" , "NRT" , "KIX" , "NGO" , "NGO" , "NGO" , "NGO" , "NGO" ] count = {} for pattern in array: if pattern in count: count[pattern] + = 1 else : count[pattern] = 1 for (key, value) in count.items(): if value ! = 1 : print (value) |
全体の要素数をカウントするなら len() を使う
各要素ごとの出現回数をカウントするなら count() を使う
今回は
1 | count = {} |
としておくことで key value 形式で格納できるようにしている
詳しくは
PythonのCounterでリストの各要素の出現個数をカウント
を参考に
items() はキーと値のペアを両方取り出す
1 | for (key, value) in count.items(): |
なら
count の中のキーと値を取り出しながらループとなる
この使い方については
Pythonで辞書をforループするkeysメソッド・valuesメソッド・itemsメソッドの使い方
を参考に
次にリストのソートと表示
1 2 3 4 5 | list = [ 1 , 3 , 5 , 6 , 3 , 2 , 5 , 23 , 2 ] list .sort() for item in list : print (item) |
昇順でリストをソートするなら
sort() で行う
なお
sort(reverse=True)
とすると降順ソートになる
リスト関連は
Pythonのリストのソートまとめ|sort(), sorted(), reverse()
を参考に