我想定义字典如下:
dict = {
Player: $key.Name + " takes some action"
}
是否有语法可以让我做到这一点?
字典理解可能有帮助。
>> players = ["Mark", "Jack", "John"]
>> player_dict = {k: k + " takes some action" for k in players}
>> player_dict
{'John': 'John takes some action', 'Jack': 'Jack takes some action', 'Mark': 'Mark takes some action'}
它们的形式为
{
键:
值for
变量in
生成器}
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 = {
(_ := "key"): f"Value + {_}"
}
print(d)
{'key': 'Value + key'}