Python 如何在返回两个元组时仅使用一个参数

Python 如何在返回两个元组时仅使用一个参数,python,Python,例如,函数os.path.split返回head和tail的元组。 我必须指定元组的两个部分,但如果我只需要其中一个,pylint会抱怨一个未使用的参数。在python中实现这一点的正确方法是什么 (head, tail) = os.path.split("a/b/c") 执行此操作的标准方法是使用 例如: head,=os.path.splita/b/c执行此操作的标准方法是使用 例如: head,=os.path.splita/b/c您可以使用: 这是大多数IDE用来解释程序员对该值不感兴

例如,函数os.path.split返回head和tail的元组。 我必须指定元组的两个部分,但如果我只需要其中一个,pylint会抱怨一个未使用的参数。在python中实现这一点的正确方法是什么

(head, tail) = os.path.split("a/b/c")

执行此操作的标准方法是使用

例如:


head,=os.path.splita/b/c执行此操作的标准方法是使用

例如:

head,=os.path.splita/b/c

您可以使用:

这是大多数IDE用来解释程序员对该值不感兴趣的约定,但是,\是一个合法的变量名,将指向被忽略的值:

>>> x = (1, 2, 3, 4)
>>> _, *middle, _ = x
>>> _
4
如果您有两个以上的值,甚至可以使用类似的内容:

>>> x = (1, 2, 3, 4)
>>> x
(1, 2, 3, 4)
>>> first, *middle, last = x
>>> first
1
>>> middle
[2, 3]
>>> last
4
因此,您仍然可以使用u忽略模式的某些部分,如下所示:

>>> x = (1, 2, 3, 4)
>>> x
(1, 2, 3, 4)
>>> _, *middle, _ = x
>>> middle
[2, 3]
您可以使用\:

这是大多数IDE用来解释程序员对该值不感兴趣的约定,但是,\是一个合法的变量名,将指向被忽略的值:

>>> x = (1, 2, 3, 4)
>>> _, *middle, _ = x
>>> _
4
如果您有两个以上的值,甚至可以使用类似的内容:

>>> x = (1, 2, 3, 4)
>>> x
(1, 2, 3, 4)
>>> first, *middle, last = x
>>> first
1
>>> middle
[2, 3]
>>> last
4
因此,您仍然可以使用u忽略模式的某些部分,如下所示:

>>> x = (1, 2, 3, 4)
>>> x
(1, 2, 3, 4)
>>> _, *middle, _ = x
>>> middle
[2, 3]

使用下划线表示需要一个变量,但您不想使用它

例如,使用:

   head, _ = os.path.split("a/b/c")

使用下划线表示需要一个变量,但您不想使用它

例如,使用:

   head, _ = os.path.split("a/b/c")

如果只需要head,请尝试head,或者如果只需要tail,请使用u,tail.head=os.path.splita/b/c[0]也可以。看起来不那么光滑,但它避免了不必要的绑定。值得一提的是:因为,你可以这样做,例如,a,*.=a/b/c.split'/'跳过多个部分,反之亦然,*.[c=a/b/c.split'/';但显然不是*uB,*b=a/b/c.split'/'。@JohnColeman假设一个可转位iterable在这里可能是合理的,否则下一个可转位iterable将是一个alternative@Chris_Rands虽然OP确实指定了元组,但这一点很好。如果您只需要head,请尝试head,或者如果您只需要tail,请使用u,tail.head=os.path.splita/b/c[0]也可以。看起来不那么光滑,但它避免了不必要的绑定。值得一提的是:因为,你可以这样做,例如,a,*.=a/b/c.split'/'跳过多个部分,反之亦然,*.[c=a/b/c.split'/';但显然不是*uB,*b=a/b/c.split'/'。@JohnColeman假设一个可转位iterable在这里可能是合理的,否则下一个可转位iterable将是一个alternative@Chris_Rands好的一点,尽管OP确实指定了元组。