初始化引用同一列表中较早元素的列表元素



给定列表

l = [ "ALPHA ONE", 123, _( "Alpha One" ), _( "ALPHA ONE" ) ]

其中元素23(翻译文本)都直接与元素0相关联。

是否可以定义元素23动态引用元素0的列表? 是否有通过引用较早的元素来初始化列表元素的符号/机制?

例如,类似于

l = [ "ALPHA ONE", 123, _( [ 0 ].title() ), _( [ 0 ].upper() ) ]

这将使生活更轻松/更安全,因为我不想一遍又一遍地定义文本。

从Python 3.8开始,这可以使用赋值表达式(Walrus运算符)。使用 walrus 运算符将第一个元素分配给名称,然后在其他元素中重用此变量

l = [(x := "ALPHA ONE"), 123, _(x.title()), _(x.upper())]

有没有理由需要把它放在list字面中?此外,这似乎更像是一个tuple.

t = "ALPHA ONE"
l = (t, 123, _(t.title()), _(t.upper()))

最新更新