GAAP – Python! リスト / セット / 辞書 / メソッド
1月 31, 2010 in Programming, Python
ども.愛澤です.今日もPython.前の記事にもちょっとだけ書きましたが,Pythonでは文字コードは「UTF-8」で保存し,文字列の前に「u」をつけることを忘れないようにしてくださいね~.さて.では.
新人プログラマのための Google App Engine クラウド・アプリケーション開発講座
name : TestSet.py
arr = set([1, 4, 6, 2, 8, 9, 7, 6, 4, 4, 5, 2, 3, 1, 7, 8, 9])for n in arr:print n
123456789
これは「セット」という関数をつかったプログラムです.セットは「集合型」と呼ばれる値らしいです.リストと似ていますが,同じ値を持つことはありません.また,自動で昇順にソートされてますね.
name : TestDictionary1.py
arr = {“One”:u”いち”, “Two”:u”にぃ”, “Three”:u”さん”}for n in arr:print nprint n + ” : ” + arr[n]print arr["One"]print arr["Two"]print arr["Three"]
ThreeThree : さんTwoTwo : にぃOneOne : いちいちにぃさん
このプログラムは「辞書」というものを使った例題です.辞書は「マップ型」と呼ばれる値らしいです.これまでのリストやタプル,セットは値を[0]・[2]・[3]といった番号で管理していましたが,これは["One"]といった「キー」と呼ばれる名前を使って値を管理しています.注意点的な感じで言えば,普段はfor文で「print n」とするとリストを取り出すことができましたが,辞書を使った場合だと取り出すことができるのはキーの方のみです.つまり,取り出したキーを使って,リストから値を取り出す事になります.
TestDictionary2.py
arr = {“One”:u”いち”, “Two”:u”にぃ”, “Three”:u”さん”}for k,n in arr.iteritems():print k + ” : ” + n
Three : さんTwo : にぃOne : いち
さっきのプログラムでは,辞書から値を取り出すときには,まずキーを取り出して,そのキーを使って・・・って感じでしたが,一度に取り出せる方法がありました.このiteritemsを使うと,辞書の要素を取り出し,キーと値をそれぞれ変数に取り出すことができるみたいです.
name : TestMethod.py
arr1 = ["A", "B", "C"]arr1.append(“X”) # 要素を追加するprint arr1arr1.insert(0, “Z”) # 要素を指定位置に挿入するprint arr1arr1.reverse() # 要素の並び順を反転するprint arr1arr1.sort() # 要素の並び順をソートするprint arr1print arr1.pop() # 一番最後の要素を取り出す(取り出した要素は取り除かれる)print arr1.pop()print arr1print arr1.index(“B”) # 指定した値が保存されている要素の番号を返すarr1.remove(“B”) # 指定した番号の要素を削除する ※print arr1
['A', 'B' , 'C', (X']['Z', 'A', 'B', 'C', 'X']['X', 'C', 'B', 'A', 'X']['A', 'B', 'C', 'X', 'Z']ZX['A', 'B', 'C']1['A', 'C']
はい.これはメソッドとよばれるものを使ったプログラムでした.
- 要素を追加する
- [ リスト ].append( 値 )
- 要素を指定位置に挿入する
- [ リスト ].insert( 番号 , 値 )
- 一番最後の要素を取り出す(取り出した要素は取り除かれる)
- 変数 = [ リスト ].pop()
- 指定した番号の要素を削除する
- [ リスト ].remove( 番号 )
- 指定した値が保存されている要素の番号を返す
- 変数 = [ リスト ].index( 値 )
- 要素数を返す
- 変数 = [ リスト ].count()
- ソートする
- [ リスト ].sort()
- 要素の並び順を反転する
- [ リスト ].reverse()
プログラム中で※がついているのは,構文だと,「指定した番号のの要素を削除する」って本には書いてありましたが,自分が色々試し竹か,「指定した番号」ではなくて「指定した値」じゃないかと思いました.実際,プログラムは番号を指定してもエラーがでました(自分の指定の仕方が悪かったのかな?).ひとまず,今回は「番号」ではなく「値」で削除する項目を指定しました.

最近のコメント