ども!Masaです。
#なんのために共有するのか?
後で見返す自分の備忘録にするため。
書くことでより記憶に届けやすくするため。
そして、短時間で多くの学びがあるように
得た知識・体験したものの要点を共有します!
Pythonの初心者が自走できるようになるまでのあしあとを残すことによって、後から学習する人がどういう道のりをたどればいいのかわかるようにするために書きます!
疑問が解消されたり、不安が少しでも減ったら、左のいいねボタンをポチッとお願いします!
入門編(part1)はこちら
#リスト
Pythonでリストを書くとこうなる。
list = ['apple','banana','orange']
print(list[0]) #apple
C言語などでいう「配列」と思えばOK。
##リストへの追加、リストからの削除
###appendメソッド
appendメソッドによって、リストの末尾に
新しく要素が追加されます。
list = ['apple','banana','orange']
list.append('peach') #['apple','banana','orange','peach']
###extendメソッド
appendは指定したものをそのまま追加。
extendはリスト同士の結合(拡張にも見える)。
alist = [3, 1, 4]
alist.append([1, 5, 9])
print(alist) #[3, 1, 4, [1, 5, 9]]
blist = [3, 1, 4]
blist.extend([1, 5, 9])
print(blist) #[3, 1, 4, 1, 5, 9]
#extendの失敗例
clist = ['banana']
clist.extend('apple')
print(clist) #['banana','a','p','p','l','e'] #これに注意w
#正しくはこう
dlist = ['banana']
dlist.extend(['apple']) #[]で囲ってリストを引数にしている
print(dlist) #['banana', 'apple']
###insertメソッド
list = ['A', 'B', 'C']
list.insert(1, 'D')
print(list) # ['A', 'D', 'B', 'C']
###removeメソッド
指定の「値」の要素を削除する
(ただし、複数存在する場合は、最初の1つのみが削除される)
list = ['A', 'B', 'C', 'B', 'D']
list.remove('B') #'B'という値を指定
print(list) # ['A', 'C', 'B', 'D']
###popメソッド
指定のインデックスの要素を削除する
list = ['A', 'B', 'C', 'B', 'D']
list.pop(1) #'B'の入っている2番目のインデックスを指定
print(list) # ['A', 'C', 'B', 'D']
###スライス
リストの中のコンマを境目にして、あたかもリストを切って(スライス)新しくリストを作成することができる。まずはサンプルをコピペしてみてくださいな。
list = ['apple','banana','orange']
slice1 = list[1:] #1つ目のコンマよりも右側をリストとして作成
print(slice) #['banana', 'orange']
slice2 = list[:1] #1つ目のコンマよりも左側をリストとして作成
print(slice2) #['apple']
slice3 = list[:-1] #リストの後ろから1番目のコンマより左側をリストとして作成
print(slice3) #['apple','banana']
どういう法則になっているのか?ってのがコレ
[何番目のコンマの右隣の要素から : 何番目のコンマの右側の要素から左側とを : いくつ飛ばしでリストにしてね]
というルールでスライスされる。
つまり、、、他の例を出すと
list = [1, 2, 3, 4, 5, 6, 7, 8]
print(list[:: 2]) #リスト全部を2つ飛ばしでリストに。
#[1, 3, 5, 7]
print(list[1:: 2]) #リストの1つ目のコンマから右側を2つ飛ばしでリストに。
#[2, 4, 6, 8]
print(list[::-1]) #リスト全部を、-1飛ばし=「逆に」リストに。
#[8, 7, 6, 5, 4, 3, 2, 1]
print(list[3::-1]) #リストの3つ目のコンマの右の要素を軸にリスト全部を、逆にリストに。
#[4, 3, 2, 1]
#辞書型(ディクショナリ)
基本的には、こう書く
dict = {'apple':1, 'banana':2, 'peach':3}
print(dict) #{'apple':1, 'banana':2, 'peach':3}
print(dict['apple']) # 1
print(dict['banana']) # 2
ポイントは「キー」と「バリュー」のセットであるということ。
「キー」がわかれば「バリュー」がわかる。
(「バリュー」がわかっても「キー」がわかるとは限らない)
##リストと辞書型の内包表記
ふつー、数字が100までのlistをつくろうと思ったらこうだけど
list = [1,2,3,4,5,6,7,8,9,・・・,100] #100まで続ける
内包表記というものを使うとこう書くことができる!
list = [num for num in range(101)]
print(list)
辞書型でも内包表記は使うことができる。
ふつーに辞書をつくるとこうだけど
dict1 = {'apple':1,'banana':2,'cclemon':3}
2つのリストから内包表記で書くこともできる
list1 = ['apple','banana','cclemon']
list2 = [1,2,3]
dict = {i:j for i,j in zip(list1,list2)}
print(dict)
※ zip関数は2つのリストなどを同時にイテレーションするときに使うと便利な関数
#最後に
Pythonを学習していると1行で書けるの!?という感動が多くハマってます。
もっともっと学習していきたいですね!
疑問が解消されたり、不安が少しでも減ったら
左のいいねボタンをポチッとお願いします!
ではではドロン!
処女作:エロ診断メーカー(共同製作:Kei)
https://ero-shindan.herokuapp.com/
Ed.D~Eros Driven Development~
https://storage.googleapis.com/edd-homepage/IntroductionEdD/index.html
#参考文献
スライスについて
https://www.pythonweb.jp/tutorial/string/index11.html
insertメソッドについて
https://www.pythonweb.jp/tutorial/list/index7.html