请问,在函数本地作用域中,又使用locals()函数进行赋值,输出结果如何理解?

图片说明
尤其没有理解输出第三行中{'x': 666, 'dic': {...}}的'dic': {...}是什么意思,以及为什么会出现'dic': {...}这种结果

这是Ellipsis对象
https://www.xuebuyuan.com/2215546.html

locals函数是获得解释其中所有的本地变量,以词典形式返回,你在第三次调用locals的时候,你已经定义过dic这个变量了啊,所以会有dic这变量,
而他的值为第二次调用locals的返回值,是一个词典(此时的变量只有x)

相同属性不相邻问题

需求:有两个list,分别为list1和list2。list1中有n个对象,每个对象有5个属性,其中一个属性是tid,要求list1按tid排序,相邻的对象的tid不能重复,m为不重复的tid数量,m不确定。list2存放的是所有可能出现的tid的情况。

list1 = [task1,task2,task3…taskn]
list2 = [tid1,tid2,tid3…tidm] (m
神奇的local函数

python语言很好的帮我们解决了这个问题:利用locals内置函数动态创建变量。

locals函数在这里的作用:

  • 1、根据传递的参数动态创建变量
  • 2、根据传递的参数动态访问变量