簡體   English   中英

if 語句內的 capitalize() 方法,字典中的 for 循環內

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

我創建了一個循環遍歷數據字典項中的每個鍵和值的 for 循環。 在 for 循環中,我創建了一個 if 語句來檢查值是否不等於“student”。 在 if 語句中,我使用 capitalize() 方法更新所有非“學生”字符串的字符串值,以便它們的第一個字母大寫:

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

Output:

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

使用 data[x] 從鍵 x調用,因此您當前擁有的是嘗試將值用作鍵。 如果您將代碼更改為

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM