是否有可能在Python中解压一个元组而不创建不需要的变量?
有没有办法编写以下函数,以便我的IDE不会抱怨列是一个未使用的变量?是否有可能在Python中解压一个元组而不创建不需要的变量?
def get_selected_index(self):
(path, column) = self._tree_view.get_cursor()
return path[0]
在这种情况下,我不关心元组中的第二项,只是想在解压时丢弃对它的引用。
在Python中,_
通常用作忽略的占位符。
(path, _) = self._treeView.get_cursor()
你也可以避免解压缩,因为元组是可索引的。
def get_selected_index(self):
return self._treeView.get_cursor()[0][0]
如果你不关心的第二个项目,为什么不直接提取的第一个:
def get_selected_index(self):
path = self._treeView.get_cursor()[0]
return path[0]
请注意,返回现在应该是'return path',而不是'return path [0]' – 2010-09-27 14:59:03
这比较弱,因为它删除了只有两个项目的断言。 – 2010-09-28 00:39:10
@Michael Mior:我回滚了你的编辑:根据原来的问题,它应该仍然是'path [0]'('path'似乎是一个序列本身) – Steven 2010-09-28 13:40:06
看起来很漂亮,我不知道是否有不错的表现。
a = (1, 2, 3, 4, 5)
x, y = a[0:2]
值得一提的是'_'是不是任何一种语法魔术,而是一个约定(当然,这是由IDE和pylint的认可的公约和Python约定是相当强的...) – detly 2010-09-27 09:18:30
的Python会没有约定就没有东西! – fredley 2010-09-27 09:19:33
这个约定有记录吗? – Nathan 2010-09-27 09:20:50