VBA別館・Python別館
Python リストの扱い方 - Tak
2018/10/26 (Fri) 08:15:37
他のプログラムでは配列などと呼んでいますが、Pythonではリストと言います。
① まず人名をリストに書きます。 リストは変数名=[]として、[]の中に ' と , で書き込みます(半角)。
>>>名前=['佐藤','遠藤','渡辺','山下','黒川']
>>>名前
['佐藤','遠藤','渡辺','山下','黒川'] と表示されます。 これは名前と言う変数に5名の名前が格納された訳です。
② 名前の呼出しをします。 これをindexing(インデックシング)と言います。
listの何番目かをしてします(最初の番号は0です)
>>>名前[0]
佐藤
>>>名前[-1]
黒川
ここでのルール:
・前から数える時は、0から始める。
・後ろから始める時は、-1から始める。
だからこの名前のリストで言えば、
名前[2]=名前[-3]='渡辺'となります。
③ リストに何個のデータがあるか調べる。
>>>名前=['佐藤','遠藤','渡辺','山下','黒川']
>>>len(名前)
5
そうです、5人のデータが入っているのですね。
Re: Python リストの扱い方 - Tak
2018/10/26 (Fri) 16:14:04
③ 必要な文字列を取り出します。 これをslicing(スライシング)と言います。
>>>text='今日は良い天気です'
>>>text[0]
'今'
>>>text[1]
'日'
>>>text[-1]
'す'
>>>text[-2]
'で'
これは前回やったindexingですね、では次はslicingをやって見ます。
④ スライシングです。
>>>text='今日は良い天気です'
>>>text[1:4] #2番目から3番目を取り出すと言う関数
'日は良'
>>> text[2:8]
'は良い天気で'
>>> text[-3:]
'気です'
>>> text[:5]
'今日は良い'
>>>
>>> text[5:] #6番目から最後まで抜き出す
'天気です'
>>> text[100]
IndexError: string index out of range エラーとなります
>>> text[:100] #0から99番目をあれば抜き出す
'今日は良い天気です'
>>> text[100:] #99番目から後を抜き出す
'' #何もないから''となります。
slicingはもう少しあります、ではまた次回。
Re: Python リストの扱い方 - Tak
2018/10/27 (Sat) 14:47:06
⑤ 文字列を逆に並べる
>>> a='abcdefg'
>>> a[::-1]
'gfedcba'
この意味は、[start:end:step]というslicingで、後ろから一つずつ取り出す関数と言うことです。
この辺は実際に何かプログラムサンプルを作らないと、覚えられせんのでこういう関数があるということをうっすらと記憶してもらえばいいと思います。