Python 三元表达式
Python ternary expression
所以这是一个简单的对象创建和赋值,使用 Java 中的 1 行三元表达式。
Interval newInterval = previous.end <= current.end ? new Interval(previous.start, current.end : new Interval(previous.start, previous.end)
python 等价于,
new_interval = Interval(previous.start, current.end) if previous.end <= current.end else Interval(previous.start, previous.end)
我的问题是有更多pythonic
的写法吗?
我更喜欢的形式大概是
new_interval = Interval(previous.start, max(current.end, previous.end))
这更像 Pythonic:
start = previous.start
end = max(current.end, previous.end)
new_interval = Interval(start, end)
所以这是一个简单的对象创建和赋值,使用 Java 中的 1 行三元表达式。
Interval newInterval = previous.end <= current.end ? new Interval(previous.start, current.end : new Interval(previous.start, previous.end)
python 等价于,
new_interval = Interval(previous.start, current.end) if previous.end <= current.end else Interval(previous.start, previous.end)
我的问题是有更多pythonic
的写法吗?
我更喜欢的形式大概是
new_interval = Interval(previous.start, max(current.end, previous.end))
这更像 Pythonic:
start = previous.start
end = max(current.end, previous.end)
new_interval = Interval(start, end)