将项添加到字典并使用变量Python调用dict

2024-03-28 12:19:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个问题。我想调用字典并添加项,但我想通过变量调用它。你知道吗

if zacetek in predmeti:
    ocena = str(raw_input("Vpisite oceno: "))
    procent = str(raw_input("Vpisite procent: "))
    zacetek[ocena] = procent

Zacetek是名为predmeti的列表中的字符串。字典的名称与该列表中的字符串相同。我基本上检查输入(zacetek)是否在这些字符串列表中,然后调用一个这样命名的字典。但我不能打电话,因为它说zacetek是一个字符串而不是一个对象。我怎么能弄到这样一本字典?你知道吗

谢谢你!你知道吗


Tags: 字符串in列表inputrawif字典str
3条回答

看起来您正试图将字符串用作词典。尝试将变量设置为字典,并将其设置为键。你知道吗

predmeti = [] # strings here
zacetek_dict = {}
zacetek = raw_input('Input: ')

if zacetek in predmeti:
    ocena = str(raw_input("Vpisite oceno: "))
    procent = str(raw_input("Vpisite procent: "))
    zacetek_dict[ocena] = procent

既然zacetek已经是一个字符串了,你就不能把它当作字典。你知道吗

如果我对你的理解正确的话,你是在试图编一本字典。你需要一个新的变量。如果这是在循环内,则在循环外实例化新变量,如下所示:

new_dict = {}
# or
new_dict = dict()

否则,如果您只需要在其中包含一个项目,则只需按您的设置即可:

new_dict = {ocena: procent}

两件事:

raw_input已经给了你一个字符串。您不必尝试转换为字符串(str(raw_input([prompt]))raw_input([prompt])就足够了。你知道吗

另外,Zacetek是一个字符串。如果对象是字典,则只能索引键和值。由于Predmeti是一种数据类型(listdict),您可以附加到该类型,甚至可以将Zacetek转换为字符串并附加到该对象。你知道吗

predmeti = {zacetek: {}} # Zacetek is a dictionary
predmeti[zacetek][ocena] = procent # Get's the value of zacetek (Which is a 
                                   # dictionary),then adds a key and a 
                                   # value to it.

相关问题 更多 >