Java の素描 #008: 辞書を利用する:組み込み型 dict

記事一覧 Java.use(better, Swing=Jython) #FIFA World Cup への道《Jython2.5》

Java の素描 Jython 弾丸ツアー:時短プログラミング生活のすすめ 〜

《著》森こねこ、伊藤うさぎ、小粒ちゃん@湘南組《監修》タマゴ倶楽部

第1版♪2003/05/23 ● 第2版♪2006/04/03 ● 第3版♪2010/06/11

step08: 辞書を利用する:組み込み型 dict

辞書を利用して、各チームの略号と正式名称とを対応させます。

■ 要求仕様: 全チームの一覧表を作成する

全32チームの一覧表(リスト項目)を作成したいとします。各項目を選択すると、チームの情報が得られるようにします。それには、JList を利用すると便利です。

■ JList の動作を確認する

任意の項目を提示して、各項目を選択したときの動作を規定します。チームの略号を列挙した項目を選択すると、その正式名称が得られるようにします。

■ プログラムを変更する
## ---------------------------------------- wcFrame.py
class TopPanel(JPanel):
    groups = {
        "A": [                          # Group A
            {"rsa": "South Africa"},
            {"mex": "Mexico"},
            {"uru": "Uruguay"},
            {"fra": "France"},
            ],
        ...
        }

    def __init__(self, master, *args, **keys):
        ...
        def teams():
            return sorted(team
                for group in "ABCDEFGH"
                for teams in self.groups[group]
                for team in teams)

    def __call__(self, e):  # javax.swing.event.ListSelectionEvent
        value = e.source.selectedValue
        teamNames = dict*1
        print(":: %s"%teamNames[value])
■ プログラムを実行する
$ jython -i ex08/wcFrame.py
>>> :: Algeria
Algeria
Japan
Japan

リスト項目には、各チームの略号が整列して(アルファベット順に)表示されます。ここで、リスト項目から "jpn" を選択すると、日本チームの正式名称 Japan が出力されます。

》作業中です《

  • 組み込み関数 sorted を利用すると、
  • 組み込み関数 dict を利用すると、


関連記事

TOP

Last updated♪2010/07/23

*1:k,v) for group in self.groups.values() for team in group for k,v in team.items(