【问题标题】:Is there some kind of tuple wildcart in Python?Python中有某种元组通配符吗?
【发布时间】:2013-07-03 08:04:33
【问题描述】:

例如,在 Erlang 中,可以在读取元组时使用通常的模式匹配通配符。说,我想从一种颜色中读取一个红色通道值。而不是写:

{R, G, B, A} = color()

我能做到:

{R, _, _, _} = color()

'_' 在这里代表我不关心的一切。这种语法使代码在不必要的变量上更清晰。

在 Python 中有这样的东西吗?

【问题讨论】:

    标签: python tuples syntactic-sugar


    【解决方案1】:

    本身不是,因为_ is a valid variable name。不过也可以用同样的方式解压:

    r, x, x, x = color()
    

    3.x 让您不再关心最后的那些:

    r, *x = color()
    

    或者索引始终是一种选择。

    r = color()[0]
    

    【讨论】:

    • 既然_ 如您所说,是一个有效的变量名:为什么不在这里使用它而不是x,这看起来像是一个错误或意外未使用的变量?
    • @delnan:因为它在 i18n 中的使用。
    • 我一直忘记这一点,好点。但是,我确实认为_ 更可取,因为代码中没有 i18n。无论如何,x 对于“无关”变量来说似乎是一个非常糟糕的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多