如何使用python 3.6 F-String來執行此格式?如何在python 3.6中用f-string做字典格式?
person = {'name': 'Jenne', 'age': 23}
print('My name {0[name]} and my age {1[age]}'.format(person, person))
print('My name {0} and my age {1}'.format(person['name'], person['age']))
如何使用python 3.6 F-String來執行此格式?如何在python 3.6中用f-string做字典格式?
person = {'name': 'Jenne', 'age': 23}
print('My name {0[name]} and my age {1[age]}'.format(person, person))
print('My name {0} and my age {1}'.format(person['name'], person['age']))
那麼,一個需要字典鍵的報價。
f'My name {person["name"]} and my age {person["age"]}'
這會奏效。
f'My name {person["name"]} and my age {person["age"]}'
如果name
是obj
,f'name is {obj[name]}'
的屬性,但對於一個字典作爲這個問題,你可以直接訪問關鍵f'name is {person["name"]}'
。
錯誤所以這就是爲什麼我問:f'My名{人[名]}和我的年齡{person [age]}' NameError:名稱'name'未定義 –
我已更新我的答案,此作品。 – pkuphy
謝謝你得到它 –
編輯:混淆舊的格式功能和新的f-stings。補充說明。
發佈的字符串pkuphy是正確的,你必須使用引號來訪問詞典:
f'My name {person["name"]} and my age {person["age"]}'
你的原始字符串作品爲str.format()
-function:
>>> person = {'name': 'Jenne', 'age': 23}
>>> print('My name is {person[name]} and my age is {person[age]}.'.format(person=person))
My name is Jenne and my age is 23.
第一person
引用所有發生的格式字符串,第二個給變量填寫。
根據繳款你的字典,使給定的字符串的數量,您可以考慮使用.format(**dict)
反而使其更具可讀性,即使它沒有一個f串的簡潔優雅。
>>> person = {'name': 'Jenne', 'age': 23}
>>> print('My name is {name} and my age is {age}.'.format(**person))
My name is Jenne and my age is 23.
雖然這個選項是情境,你可能會喜歡避免報價的咆哮起來,雙引號
問題是關於Python 3.6 f-字符串的明確說明,而你清楚地解釋你的答案,這不是關於什麼被問到的。 – jpoppe
真的夠了,我寫了這個評論,最近在我的一些工作中放了一個f字符串,就像這樣:'f'some text {mydict ['mydumbmistake']} more text'' vs'f'some text {mydict [這件作品更多的文字和視覺上的錯誤很難讓我發現(也許我只是垃圾),所以像我一樣愛着琴絃,它的一個地方,舊式的腳感更強,而且機會更少像我這樣的小笨蛋製造另一個錯誤。 –
只需使用整個字符串和項目之間的不同引號。如果用雙引號引用該字符串,則爲鍵使用單引號。在python中,單引號和雙引號都起着相同的作用。 –
謝謝 那是什麼? print('我的名字是{姓名},我的年齡是{年齡},我的薪水是{salary}。'format(** person)) –
這是'str.format()'方法, f-string和str.format是如何執行索引查找的,因爲你必須引用'f-string'中的字典中的鍵,但是會自動從索引值轉換爲'str.format()'中的字符串。 –