我想定义一个字典如下:
dict = {
Player: $key.Name + " takes some action"
}
是否有语法可以让我做到这一点?
我想避免使用
Player
两次。例如,如果我想用 Player
替换 AdvancedPlayer
,我有两个参考要替换。
class Player(object):
def __init__(self, name):
self.name = name
p1 = Player("bernard")
p2 = Player("hoagie")
t = (p1, p2, ...)
d = {p: p.name + " something something" for p in t}
听起来您想在分配给该键的值中使用您正在创建的键。是的,这是可能的:
playerDict = {Player: Player + " takes some action"}
对我来说,这个问题的含义与代码所暗示的不同,即:您希望在创建字典的相同上下文中在其值中引用字典键。
您可以使用海象 (:=
) 运算符(来自 Python 3.8)来做到这一点:
d = {
(k := "key"): f"Value + {k}"
}
print(d)
{'key': 'Value + key'}