簡體   English   中英

如何在python中使用f-string將變量用作字典鍵?

[英]How to use a variable as dictionary key using f-string in python?

我正在嘗試打印字典的字典項目值,但我的項目也是另一個用戶輸入變量。 如何使用 f-string 打印選定的值?

option = ''
languages = {'1':'Learn Python', '2':'Learn Java', '3':'Learn C++', '4':'Learn PHP', '5':'Quit'}
option = input('Please choose an option between 1 and 5')

# Following part is not working!!!
print(f'Youve selected {languages["{option}"]}')
# Following part is working!!!
print(f'Youve selected {languages[option]}')

您需要使用下一個字符串: print(f'Youve selected {languages[option]}')

f-string 不允許嵌套插值。 但是,要從字典中獲得正確的選項,您不需要引號, languages[option]就可以了。

因此,您要使用的行將是print(f"You've selected {languages[option]}")

option 是一個變量,但您選擇了一個字符串。 這意味着你給字典語言的鍵是你的情況 {option} 而這個鍵不存在

languages = {'1':'Learn Python', '2':'Learn Java', '3':'Learn C++', '4':'Learn PHP', '5':'Quit'}
option = str(input('Please choose an option between 1 and 5'))

# Following part is  working!!!
print(f'Youve selected {languages[option]}')

您沒有使用變量選項,而是使用 {option} 作為字符串並嘗試打印鍵 {option} 的值。 只需刪除括號和“”。

您也可以在 af 字符串中使用 af 字符串,但這不是必需的。

print(f'Youve selected {languages[f"{option}"]}')

在這種情況下,您的代碼不起作用的原因是,因為您在 af 字符串中創建了一個字符串,而不是在 af 字符串中創建了 af 字符串

暫無
暫無

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

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