1、for循环中将字典添加到列表中出现字典值全部重复的问题
- 问题阐述:每次for循环过程中,列表中的所有字典值都和最新的字典赋值相同
- 原因:
1、字典用key-value来添加值时,如果每次的key相同,则相当于赋值,只是修改字典中该key所在的内存地址(引用)下的value,并不会在字典中添加新的key-value,所以for循环过程中,指向同一个内存地址(引用)的字典都会被修改。
2、列表添加方法append()添加值时,相当于只会添加一个该值的内存地址(引用),所以for循环过程中,列表中添加的值都会被修改。 - 解决办法:
1、字典需要定义在循环内
2、列表需要定义在循环外部
2、方法接收参数为字典或者列表时,传值问题
3、missing 1 required positional argument: ‘self’
常见于没有对调用类进行实例化