Abo*_*nah 21 python format dictionary 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']))
Run Code Online (Sandbox Code Playgroud)
M. *_*ung 22
那么,需要字典键的引用.
f'My name {person["name"]} and my age {person["age"]}'
yet*_*200 16
以下两个语句都适用于 Python 3.6 以后的版本:
print(f'My name {person["name"]} and my age {person["age"]}')print(f"My name {person['name']} and my age {person['age']}")请注意上述语句中的单引号'和双"引号,因为放置错误会导致语法错误。
Mar*_*ord 11
根据字典对给定字符串的贡献数量,您可以考虑使用.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.
Run Code Online (Sandbox Code Playgroud)
虽然这个选项是情境性的,但您可能希望避免使用引号和双引号
发布的字符串 pkuphy 是正确的,您必须使用引号来访问字典:
f'My name {person["name"]} and my age {person["age"]}'
Run Code Online (Sandbox Code Playgroud)
您的原始字符串适用于str.format()- 函数:
>>> person = {'name': 'Jenne', 'age': 23}
>>> print('My name is {person[name]} and my age is {person[age]}.'.format(person=person))
Run Code Online (Sandbox Code Playgroud)
输出:
我叫 Jenne,今年 23 岁。
第一个person引用格式字符串中所有出现的位置,第二个给出要填充的变量。