如何用字典替换字符串中的{}

2024-06-17 14:58:25 发布

您现在位置:Python中文网/ 问答频道 /正文

 num= {1:'a',2: 'z'}

 a='{} is {}'.format(num[1],num[2])
 num[1] = "hello"

我可以知道为什么变量“a”仍然与旧变量相同,尽管我已经使用slicing num[1]用其他单词替换了它吗

print(a)
 >>>
 a is z


num
>>>
{1: 'hello', 2: 'z'}

2条回答

对变量a的赋值根据执行序列中该点的num[1]num[2]的值生成一个静态字符串。之后更新字典不会重新生成a的值

如果希望a随字典内容的变化而变化,则需要将其设置为可执行函数或lambda,以便在每次使用时对其进行重新评估:

num= {1:'a',2: 'z'}

def a(): return '{} is {}'.format(num[1],num[2])

print(a()) # a is z

num[1] = "hello"

print(a()) # hello is z

之所以这样做,是因为在更改字典之前定义了一个,所以python代码的顺序很重要

 num= {1:'a',2: 'z'}

 a='{} is {}'.format(num[1],num[2])
 num[1] = "hello"

print(a) 

a是z

vs

num= {1:'a',2: 'z'}
num[1] = "hello"

a='{} is {}'.format(num[1],num[2])

print(a)

你好,我是z

相关问题 更多 >