给定列表
l = [ "ALPHA ONE", 123, _( "Alpha One" ), _( "ALPHA ONE" ) ]
其中元素2
和3
(翻译文本)都直接与元素0
相关联。
是否可以定义元素2
和3
动态引用元素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()))