Python:字符串格式化中不同类型的字段名称

时间:2018-02-14 18:51:34

标签: python dictionary string-formatting field-names

考虑以下字典:

dic1 = {1:'string', '1': 'int'}

让我们应用字符串格式:

print("the value is {0[1]}".format(dic1))
result --> the value is string

但是如何才能获得“the value is int”?

2 个答案:

答案 0 :(得分:1)

应该就是这样。

print("the value is {0}".format(dic1['1']))

{0}仅作为文本放置在字符串中的占位符。所以一个例子就是使用。

>>> x=1
>>> y=2
>>> z=[3,4,5]
>>> print "X={0} Y={1} The last element in Z={2}".format(x,y,z[-1])
X=1 Y=2 The last element in Z=5

您也可以这样做以改变方向。数字引用format命令中使用的参数。

>>> print "X={0} Y={1} The last element in Z={0}".format(x,y,z[-1])
X=1 Y=2 The last element in Z=1

现在看到我将字符串更改为Z={0}它实际上正在使用x命令中的.format(x,y,z[-1])

答案 1 :(得分:1)

有效,

print("the value is {0}".format(dic1['1']))

修改以回答@ Afshin的评论

您可以在iterable之前使用*运算符在函数调用中展开它。例如,

a = [1, 2, 3]
print("X={0} Y={1} The last element in Z={2}".format(*a))

OR

d = {'x': 1, 'y': 2, 'z': 3}
print("X={x} Y={y} The last element in Z={z}".format(**d))