Java/Python 導入ガイド:swing/Jython - list.index

Java プログラマーのための Python 導入ガイド記事一覧

Java プログラマーのための Python 導入ガイド〈初級/基礎編〉《Jython2.5》
swing/Jython - list.index

《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03

■ 概要

Python の組み込み型の機能を Swing/GUI を利用して「視覚的に」理解できるツールを作成します。

 組み込み型の機能を視覚的に確認できるツールがあると、より効果的な学習ができます。
 今回は、Swing/GUI を利用した学習用ツールを作成するとともに、
 組み込み型 list と、JList/DefaultListModel との相互理解を目指します。

事例:要素の位置

>>> m.index("A")
0
 

リスト内に存在する要素 "A" の位置 0 を獲得します。

class Model(DefaultListModel):
    def index(self, value, start=None, stop=None):
        """
        >>> print list.index.__doc__
        L.index(value, [start, [stop]]) -> integer -- return first index of value
        """
        # public int indexOf(Object elem)
        integer = self.indexOf(value)
        if integer == -1:         # 存在しない要素
            raise ValueError, "list.index(x): x not in list"
        else:
            return integer-1

指定した要素 value が存在するリスト内の位置を獲得します。要素が存在しないと、-1 が得られます。

■ DefaultListModel.indexOf

指定した要素 value が存在する(DefaultListModel)リスト self 内の位置を獲得 indexOf します。

■ list.index # 存在しない要素
>>> m.index("@")
Traceback (most recent call last):
...
ValueError: list.index(x): x not in list
 

リスト内に要素が存在しないので、例外 ValueError を生成します。

Tips

組み込み型 list に対する操作を、コンポーネント JList にも反映させて、視覚的に確認できるようにします。
》作業中です《

Last updated♪09/05/04