はじめに
ここは、Pythonを改めて学んでいるメモを都度書き出していきます。
※ 筆者のバックグラウンドは#1をご覧ください。
前:https://qiita.com/hideh_hash_845/items/58241f0ce0283e457a87
次:https://qiita.com/hideh_hash_845/items/b5e2264fc650c3e9d4b6
文法の気づき2
リスト
- indexは0オリジンで、マイナス指定も可(Perlと同じ)
- リストの長さは
len()
- 末尾に追加する時は
append()
- 要素削除時、index指定なら
del()
, 内容指定時はremove()
- スライスができるが、
後のindexは「最後の要素」ではなく「最後の要素の一個前」indexは「○○以上、◆◆未満」で指定するものと覚える
my_list=["hoge", "huga", "moga", "aaa", "bbb", "ccc"]
my_list[1:3]
# ["huga", "moga"]
# "aaa"は含まれない!
タプル
- タプル=イミュータブルなリスト
- 要素の変更(代入・追加・削除・並び替え)ができない
- 書き換えてほしくないデータを安全に扱うことができる
- スライスのやり方はリストと同じ
辞書型
- いわゆる「キー:バリュー」。Perlでいうと「ハッシュ」
my_dict = {"ore":1, "omae":2, "kare":3}
集合型
- 重複の削除に使える
my_val = {"ore", "omae", "omae", "ore"}
bool型
-
True
,False
=先頭大文字
条件分岐
- 他の言語と一緒だが、ifの終わりが
:
であるが注意(セミコロンではない) - 「●●でなく、◆◆ならば」を表すのは
elif
(elsifなどではない。言語によって癖が出る句) - { }ではなくインデントで示す
リストのinメソッド
# 適当なリストを定義
my_values = ['ore', 'omae', 'kare']
print(my_values[0])
print(my_values[1])
print(my_values[2])
for val in my_values:
print(val)
range
メソッド
- 範囲を示す
- 最後が「未満」であるのが独特なので注意
# これは0~4まで
for i in range(5):
print (i)
# これは5~9まで
for i in range(5, 10):
print(i)
# `for (i=0; i<10; i=i+2)`のイメージ
for num in range(0, 10, 2):
print(num)
zip
メソッド
- 複数のイテレータから同時に取り出す
my_values = ['私', 'あなた', '彼']
my_names = ['田中', '佐藤', '鈴木']
for val, name in zip(my_values, my_names):
print('{}は{}です。'.format(val,name))
enumerate
メソッド
- イテレータからindex付きで取り出す
- 0オリジンに注意
my_names = ['田中', '佐藤', '鈴木']
for i, name in enumerate(my_names):
print('会員No.{}: {}'.format(i,name))