我是新来的Python,只是阅读下面的部分用Python文档6.1.3. Format String Syntax:什么是有效的密钥根据Python的str.format()文档
Because arg_name is not quote-delimited, it is not possible to specify arbitrary dictionary keys (e.g., the strings '10' or ':-]') within a format string.
这是什么意思?有人可以给我任何例子吗?这是否意味着格式字符串中的所有数字都是位置参数?所以'10'是第10个参数?对于': - ]',这是因为它有']'吗?我也看过这个post。
另一个问题是从岗位:
dictionary = {'key1': 'val1', '1': 'val2'}
string1 = 'Interpolating {0[key1]}'.format(dictionary)
print string1
为什么它不是{0 “键1”]}?密钥'key1'是一个字符串,但如果使用“key1”,这是一个错误。一个正常的字典索引应该是字典['key1'],而不是 字典[key1]
就像@BrenBarn在该帖子中回复的,如果使用数字1作为字典中的键,它可以工作。
dictionary = {'key1': 'val1', 1: 'val2'}
string2 = 'Interpolating {0[1]}'.format(dictionary)
print string2
所以我很困惑什么有效的index_string在格式字符串中。
谢谢,
我发现这是一个有价值的资源:https://pyformat.info/#getitem_and_getattr – LJGibbs
«显式优于隐式»我一直提取格式化字符串之外的任何值,除非它明显死亡。 – 9000