【问题标题】:inline if statement while multiple variable assginment具有多个变量赋值的内联 if 语句
【发布时间】:2019-10-30 02:50:45
【问题描述】:

我知道有很多资源比如One line if-condition-assignment

但在我的情况下,我从列表中分配两个变量和两个项目,并想知道是否有一种方法可以在一行中添加 if 语句

我的代码是:

status, bytes = test_str[pos[1]+1:pos[2]-2].split()
if bytes == "-":
    bytes = 0

我想要类似的东西:

status, bytes if (bytes != "-" else 0) = test_str[pos[1]+1:pos[2]-2].split()

【问题讨论】:

  • 你的代码完全没问题,比任何可怕的单行代码都漂亮。
  • 不,这行不通。
  • 为什么,为什么一定要一行?
  • 我不只是想知道是否有办法。

标签: python


【解决方案1】:

我同意@KlausD. 的评论,但如果你真的需要,请使用:

status, bytes = [test_str[pos[1]+1:pos[2]-2].split(), (test_str[pos[1]+1:pos[2]-2].split()[0],0)][test_str[pos[1]+1:pos[2]-2].split()[1] == "-"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 2021-11-23
    • 2020-06-27
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多