38

私のIDEがが未使用の変数であると文句を言わないように次の関数を書く方法はありますか?

def get_selected_index(self):
    (path, column) = self._tree_view.get_cursor()
    return path[0]

この場合、タプルの2番目のアイテムは気にせず、解凍時にそのアイテムへの参照を破棄したいだけです。

4

4 に答える 4

55

Pythonでは、_は無視されるプレースホルダーとしてよく使用されます。

(path, _) = self._treeView.get_cursor()

タプルはインデックス付け可能であるため、解凍を回避することもできます。

def get_selected_index(self):
    return self._treeView.get_cursor()[0][0]
于 2010-09-27T09:16:24.187 に答える
4

2番目の項目を気にしない場合は、最初の項目を抽出してみませんか。

def get_selected_index(self):
    path = self._treeView.get_cursor()[0]
    return path[0]
于 2010-09-27T11:28:27.113 に答える
1

はい、可能です。慣例で受け入れられた答えは_、プレースホルダー変数に対してのみ展開されます。

あなたはこれを介して回避することができますitertools.islice

from itertools import islice

values = (i for i in range(2))

res = next(islice(values, 1, None))  # 1

これによりres、以下と同じようになります。

_, res = values

上で示したように、このソリューションは、またはvaluesなどのインデックス可能なコレクションではない反復可能である場合に機能します。listtuple

于 2018-09-10T11:25:29.390 に答える
0

きれいに見えますが、良いパフォーマンスかどうかはわかりません。

a = (1, 2, 3, 4, 5)
x, y = a[0:2]
于 2016-04-20T10:45:35.463 に答える