今日のPython
メソッド
p.40
>>> name = "ama-ch" >>> name.find("ama") 0 >>> name.find("chan") -1
>>> "ama-ch".find("ama") 0 >>> "ama-ch".find("chan") -1
文字列の検索をするメソッドfind。 処理対象.メソッド名で実行。
find()の括弧内の文字列が見つかれば0を、なければ-1を返すようだ。みんPyだと見つかった場合1が返ってるんだけど・・・バージョンの違いかな?
p.41
>>> name = "ama-ch" >>> name.replace("-ch", "chang") 'amachang' >>> name 'ama-ch'
文字列を置き換えるメソッドreplace()。
実行後に対象変数(str)の中身は変わらないことに注意。内容の変更を伴う操作は全て同じらしい。
p.43
>>> name 'ama-ch' >>> ord(name[0]) 97
キャラクタをキャラクタコードに変換するord()。
>>> ord(name) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: ord() expected a character, but string of length 6 found
キャラクタを指定するので、もちろん文字列に対してはエラー。
ユニコード文字列
p.44
>>> str1 = "abcあいう" #UTF-8 >>> str2 = u"abcあいう" #Unicode >>> len(str1) 12 >>> len(str2) 6
リスト
p.47
>>> a = [1, 2, 3, 4, 5] >>> a [1, 2, 3, 4, 5] >>> a[-1] 5
[-1]で最後の要素を表す。使い勝手よさそう
スライス
p.48
>>> a = [1, 2, 3, 4, 5, 6, 7] >>> a[0:3] [1, 2, 3] >>> a[4:8] [5, 6, 7] >>> a[4:-1] [5, 6] >>> a[4:0] []
a[m:n]で、リストのa[m]からa[n-1]までを取り出すことができる。要素数が0 or 1でもリストとして返ってくる。
>>> a[:3] [1, 2, 3] >>> a[3:] [4, 5, 6, 7]
コロンの左側を省略すると「最初から」,右側を省略すると「最後まで」
リストの連結と繰り返し
p.50
>>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> a + b [1, 2, 3, 4, 5, 6] >>> a * 2 [1, 2, 3, 1, 2, 3]
要素の削除
p.52
>>> a = [1, 2, 3] >>> del a[1] >>> a [1, 3]
delで要素の削除ができる。こういうのがすぐできる関数があっていいなぁ。LLってこういうもんなんだろうか。
要素の最大・最小
p.52
>>> a = [1, 9, 2, 8, 3, 7, 4, 6, 5] >>> max(a) 9 >>> min(a) 1
うーむ便利。
ついでにソート・反転
p.53
>>> a.sort() #昇順にソート >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a.reverse() #リストを反転 >>> a [9, 8, 7, 6, 5, 4, 3, 2, 1]
リストの追加・連結
p.54
>>> a = [1, 2, 3] >>> a.append(4) #要素の追加 >>> a [1, 2, 3, 4] >>> a.append([5,6,7]) #リストの追加 >>> a [1, 2, 3, 4, [5, 6, 7]] #a[4] == [5, 6, 7]となる >>> del a[4] #追加分を削除 >>> a [1, 2, 3, 4] >>> a.extend([5, 6, 7]) #リストの連結 >>> a [1, 2, 3, 4, 5, 6, 7]
a.extend([5, 6, 7])はa += [5, 6, 7]と何が違うんだろう?
辞書を定義する
p.57
>>> a = {"name":"Amano", "nickname":"ama-ch"} >>> a {'nickname': 'ama-ch', 'name': 'Amano'}
{"キー":"値"}で、辞書の定義。キーで値を呼び出す。
こんな感じ
>>> a["name"] 'Amano' >>> a['nickname'] 'ama-ch'
文字列の指定はダブルクォーテーションでもシングルクォーテーションでもおk
キーと値を追加
p.59
>>> a['birthyear'] = 1986 >>> a {'birthyear': 1986, 'nickname': 'ama-ch', 'name': 'Amano'}
要素の削除は、先述のdelでできる
キー一覧の取得
p.60
>>> myinfo = {'birthyear': 1986, 'nickname': 'ama-ch', 'name': 'Amano'} >>> myinfo.keys() ['birthyear', 'nickname', 'name']
辞書名.keys()でキー一覧の取得
キーの存在を確認
p.61
>>> myinfo.has_key("name") True >>> myinfo.has_key("firstname") False
辞書名.has_key("キー名")で、特定のキーの存在を確認。
結果はbool型で返ってくる。
まだまだ基礎の基礎。