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

前の記事記事一覧次の記事

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

swing/Jython - list.pop

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

■ 概要

Java/Python に組み込まれた機能を Swing/GUI を利用して「簡単に」閲覧できるツールがあると便利です。

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

事例:要素の削除

before:
after:
>>> x.pop() # 要素の削除 'C'

リスト x の末尾から、要素 'C' を削除 pop します。すると、self が選択され、すべての要素が表示されます。

事例:コードの解説

class Model(DefaultListModel):
    def pop(self, index=None):

このメソッドは、list.pop に準拠しています。

■ list.pop
        """
        >>> print list.pop.__doc__
        L.pop([index]) -> item -- remove and return item at index (default last)
        """
        if index == None:                   # 引数を省略
            index = len(self._list)-1
        if index < 0:                       # 末尾からのオフセット
            index += len(self._list)
        item = self._list.pop(index)        # 先頭からのオフセット

インスタンス属性 self._list は、組み込み型 list のインスタンスを保持します。引数 index= を省略すると、self._list の末尾にある要素を削除 pop します。引数 index= を指定すると、self._list の位置 index にある要素を削除 pop します。

■ DefaultListModel.remove
        # public Object remove(int index)
        index = index+1
        self.remove(index)

(DefaultListModel)リスト self の位置 index にある要素を削除 remove します。

■ JList
        # JList
        self._update(0)

        return item

削除した要素 item がリターン値になります。

    def _update(self, index):
        list = self.view.list
        list.selectedIndex = index
        list.ensureIndexIsVisible(index)

misc

■ list.pop # 先頭からのオフセット
before:
after:
>>> m.pop(1) # 要素の削除(先頭からのオフセット) 'B'

引数(正数)を指定すると、先頭からのオフセット位置 1 にある要素 'B' を削除します。

■ list.pop # 末尾からのオフセット
before:
after:
>>> m.pop(-2) # 要素の削除(末尾からのオフセット) 'D'

引数(負数)を指定すると、末尾からのオフセット位置 -2 にある要素 'B' を削除します。

Tips

組み込み型 list に対する操作を、JList で確認できるようになります。

》作業中です《

Last updated♪09/06/19