我正在尝试使用字符串插值从字典中获取值。
字典有一些数字和一个数字列表:
d = { "year" : 2010, \
"scenario" : 2, \
"region" : 5, \
"break_points" : [1,2,3,4,5] }
是否可以在字符串插值中引用列表,还是需要为每个列表标识唯一键?
这是我尝试过的:
str = "Year = %(year)d, \
Scenario = %(scenario)d, \
Region = %(region)d, \
Break One = %(break_points.0)d..." % d
我还尝试了%(break_points[0])d
和%(break_points{'0'})d
这可能吗,还是我需要给它们键并将它们保存为字典中的整数?
答案 0 :(得分:4)
这可以通过新式格式化实现:
print "{0[break_points][0]:d}".format(d)
或
print "{break_points[0]:d}".format(**d)
调用此方法的字符串可以包含由大括号
{}
分隔的文字文本或替换字段。每个替换字段都包含位置参数的数字索引或关键字参数的名称。
field_name本身以
arg_name
开头,'.name'
是数字或关键字。如果它是一个数字,它引用一个位置参数,如果它是一个关键字,它引用一个命名关键字参数。...
arg_name后面可以跟任意数量的索引或属性表达式。表单
getattr()
使用'[index]'
选择命名属性,而__getitem__()
形式的表达式使用{{1}}执行索引查找。