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)