2024-09-29 02:25:52 发布
网友
下面的代码抛出KeyError。有什么想法吗?我试着把牙套加倍,但还是没有成功
v = "My Name='{x[1].name}'" p = "x[1].name" pv = 'test' v = v.format(p=pv) print(v)
我也不想创建另一个变量,希望对v变量进行格式化
v
预期产量
My Name='test'
由于使用x[1].name对您来说似乎很重要,您可以尝试:
x[1].name
class y: name = 'test' v = "My Name='{p}'" x = [0, y] v = v.format(p=x[1].name) print(v)
如果确实必须使用{x[1].name}作为格式标记,则可以创建一个合适的对象来代替x
{x[1].name}
x
v = "My Name='{x[1].name}'" class Foo: name = 'test' print(v.format(x=[Foo,Foo]))
输出:
这里x是一个列表,x[1]是类Foo,x[1].name是字符串“test”,根据需要
x[1]
不确定您想用p=pv做什么,但下面是string.format()的工作方式
pv = 'test' print("My Name='{}'".format(pv)) # My Name='test'
由于使用
x[1].name
对您来说似乎很重要,您可以尝试:如果确实必须使用
{x[1].name}
作为格式标记,则可以创建一个合适的对象来代替x
输出:
这里
x
是一个列表,x[1]
是类Foo,x[1].name
是字符串“test”,根据需要不确定您想用p=pv做什么,但下面是string.format()的工作方式
相关问题 更多 >
编程相关推荐