2024-09-27 19:13:13 发布
网友
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'}
对变量a的赋值根据执行序列中该点的num[1]和num[2]的值生成一个静态字符串。之后更新字典不会重新生成a的值
a
num[1]
num[2]
如果希望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
对变量
a
的赋值根据执行序列中该点的num[1]
和num[2]
的值生成一个静态字符串。之后更新字典不会重新生成a
的值如果希望
a
随字典内容的变化而变化,则需要将其设置为可执行函数或lambda,以便在每次使用时对其进行重新评估:之所以这样做,是因为在更改字典之前定义了一个,所以python代码的顺序很重要
a是z
vs
你好,我是z
相关问题 更多 >
编程相关推荐