capitalize() 方法在 if 语句中,在字典中的 for 循环中

capitalize() method inside an if statement, inside a for loop in a dictionary

我创建了一个 for 循环,循环遍历数据字典项中的每个键和值。在 for 循环内,我创建了一个 if 语句来检查值是否不等于“student”。在 if 语句中,我使用 capitalize() 方法更新所有不是“student”的字符串的字符串值,以便它们的第一个字母大写:

data = {
    "first_name": "brian",
    "last_name": "johnson",
    "occupation": "student"
}

for key, value in data.items():
    if value != "student":
        value = data[value].capitalize()
print(data)

当我在循环外打印时出现 KeyError: 'brian' 谁能告诉我哪里出错了?? 非常感谢!

它不是数据[值]它的数据[键]

data = {
    "first_name": "brian",
    "last_name": "johnson",
    "occupation": "student"
}

for key, value in data.items():
    if value != "student":
        value = data[key].capitalize()
        
print(data)

并更新字典

data[key] = value

输出:

{'first_name': 'Brian', 'last_name': 'Johnson', 'occupation': 'student'}

Using data[x] 从 key x 调用 value,所以你目前拥有的是尝试使用值作为键.如果您将代码更改为

,它将起作用
data = {
    "first_name": "brian",
    "last_name": "johnson",
    "occupation": "student"
}

for key, value in data.items():
    #use **data[key]** to call the **value**
    if data[key] != "student":
        data[key] = data[key].capitalize()
print(data)