Python 字典 - 是否可以在值中引用键?

问题描述 投票:0回答:4

我想定义字典如下:

dict = {
    Player: $key.Name + " takes some action"
}

是否有语法可以让我做到这一点?

python dictionary
4个回答
2
投票

字典理解可能有帮助。

>> 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
生成器
}


1
投票
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}

0
投票

听起来您想在分配给该键的值中使用您正在创建的键。是的,这是可能的:

playerDict = {Player: Player + " takes some action"}

0
投票

对我来说,这个问题的含义与代码所暗示的不同,即:您希望在创建字典的相同上下文中在其值中引用字典键。

您可以使用海象 (:=) 运算符(来自 Python 3.8)来做到这一点:

d = { (_ := "key"): f"Value + {_}" } print(d) {'key': 'Value + key'}
    
© www.soinside.com 2019 - 2024. All rights reserved.