[Python] 高速勉強 #4「配列操作」

Pythoの配列って、なんだかJavascriptの配列と似てる・・・
登録の仕方や扱い方なんかが似ているんだが、それは自分としてはとても扱いやすいポイントですね。
なんだか、Pythonって扱いやすいぞ!・・・って思い始めてきた。
len、find、[]を使ってみよう
dotinstall
メモ
pythonで配列は「リスト」と呼ぶ。
[]内に,(カンマ)で区切って記述するとリストとして登録される。
配列内は、違う型のデータを登録しても良い。
リストの数を調べる
1 2 3 4 |
datas = [111 , 222 , 333 , 444] print len(datas) # 実行 4 |
色々な属性
どうやら文字列と同じ命令が同じやり方で文字数から要素数という風に扱えるらしいぞ。
+ : 連結
* : 繰り返し
[**] : 指定番号を1つだけ切り出す
[start:end] : 指定番号をfrom-toで切り出す
存在チェック[in]
1 2 3 |
print 222 in datas # 実行 True |
数字の連番を作る[range]
rangeに指定した数字は「0以上10未満」で値が返ってくる。
1 2 3 |
print range(10) # 実行 [0,1,2,3,4,5,6,7,8,9] |
rangeの引数はstart-end方式も使える
1 2 3 |
print range(3,10) # 実行 [3,4,5,6,7,8,9] |
さらに2飛ばしで値を作る時
1 2 3 |
print range(3,10,2) # 実行 [3,5,7,9] |
リスト(配列)の並び替え
dotinstall
「#09 sort、reverse、split、joinを使おう」
sort
配列を昇順に並び替える。
※小さい順
1 2 3 4 5 |
lists = [20 , 10 , 30 , 50] lists.sort() print lists # 結果 [10 , 20 , 30 , 50] |
reverse
配列の並び順を逆にする。
※並び替えは行わない。
1 2 3 4 5 |
lists = [20 , 10 , 30 , 50] lists.reverse() print lists # 結果 [50 , 30 , 10 , 20] |
昇順の並び替えを行いたい時
sortを行なってからreverseをするだけ。
1 2 3 4 5 6 |
lists = [20 , 10 , 30 , 50] lists.sort() lists.reverse() print lists # 結果 [50 , 30 , 20 , 10] |
文字列とリストの相互変換
split
1 2 3 4 |
d = "2016/08/10" print d.split("/") # 結果 ['2016' , '08' , '10'] |
join
1 2 3 4 |
d = ["2016" , "08" , "10"] print "/".join(d) # 結果 2016/08/10 |