wythonにおけるリストとfor構文 [wython]
リストないしは配列を日本語で表現するのは、難しい。全体としてのリストならば、リスト[これ、これ、これ}でいいけれども、添字でその一つ一つの項目を指定する仕方は、どうしても冗長になってしまう。とりあえず、次のようなものを考えてみた。
リスト[「東京」、「京都」、「大阪」、「名古屋」、「仙台」、「札幌」]をリスト型変数citiesに代入する。 citiesの3番目の項目を表示する。 citiesの0番目に「横浜」を代入する。 citiesに「北九州」を追加する。 整数型変数nにcitiesの個数を代入する。 0からn-1までiを変化させながら、 「%s, 」% (citiesのi番目の項目)を改行せずに表示する。 改行する。 リストcitiesの各項目を文字列型変数cityに代入しながら、 「city、」と改行せずに表示する。 改行する。
これをwythonで処理すると、
#!/usr/bin/env python # -*- coding:euc-jp -*- cities = ["東京" , "京都" , "大阪" , "名古屋" , "仙台" , "札幌" ] print cities[3] cities[0] = "横浜" cities.append("北九州" ) n = len(cities) for i in range(0, (n-1 + 1)): print "%s, " % (cities[i]), print for city in cities: print "%s、" % (city), print
となる。その実行結果は、
名古屋 横浜, 京都, 大阪, 名古屋, 仙台, 札幌, 北九州, 横浜、 京都、 大阪、 名古屋、 仙台、 札幌、 北九州、
である。ここでは、「番目」というキーワードを、リストの項目の指示に用いた。「〜番目の項目」でも「〜番目の文字」でも、「〜番目の要素」でも、さらには「〜番目」だけでもよい。
その他、いくつかの動詞や、forによる繰り返し構文も追加した。ここで、今回追加した言語仕様をまとめておこう。
- リストのリテラル表現は、Pythonにならって、[ ]で囲む。[]は全角[]でもよく、項目を区切るコンマは、全角の「、」や「,」でもよい。
- リストはリスト型の変数に代入する。
- リストの項目は「〜番目」というキーワードで指示する。最小と代入が可能なのは、wythonの機能ではなく、Pythonの機能である。〜番目から〜番目という範囲指定はまだサポートしていない。
- リストに対するメソッドappendを「〜に〜を追加する。」というキーワードで実装した。
- リストや文字列などの長さを測るlen()関数を「〜の個数」あるいは「〜の長さ」というキーワードで実装。
- for item in list構文を、「リストlistの各項目を〜型変数itemに代入しながら、」(もちろん、listとitemという変数名は自由に付けられる。ただし、listのリテラルは駄目。)というキーワードで実装。
- %を使った書式つき文字列は、サポートしているというよりは、文字列部分の「」を除いて、全てローマ字なので、そのまま式として認識されているだけ。逆に言うと、Pythonの関数なども、そのまま書いておけば、大抵は使えると思う。
こういう仕様や実装方法について、各回にバラバラに書いていると、その都度、変更があったりした場合に分かりづらくなるので、そろそろ最新の情報をまとめたページを作って、きちんとまとめておいた方がよさそうだ。変更があったら、そのページを更新するようにして。
次は、関数の実装をしよう。これはローカル変数をうまく処理したり、関数名を日本語でどうするか、など解決しなければならない問題があるので、少し時間がかかりそう。
コメント 0