Python中怎样在list中保存class类型的数据
请看图片,自己对比吧,错误和不规范的地方有多处。
上面的回复,没有仔细看提问者说的,刚才再仔细看了一下,问题在于字典你放在循环的外边。因为字典相同的key后面的值会覆盖前面的,所以你永远得到的是一样的,看下面的修改。
【Python中怎样在list中保存class类型的数据】
■网友
简单回答下,python里面所有的变量都是引用。lst.append(data(dic))
这句话,将dic作为创建实例的参数,里面把dic赋值给self.datasdic = {"姓名":"","年龄":0}
这句话只执行一次,所以,所有创建的实例,里面的datas所指向的对象都是dic所指向的对象,所以打印起来都一样。增多点打印更好理解:def printdata(): print(self.data, id(self.data), id(self))
修改方法1:class data(object): def __init__(self, name, age): self.datas = {\u0026#39;姓名\u0026#39;: name, \u0026#39;年龄\u0026#39;: age}
修改方法2:lst = for name, age in library: lst.append(data({\u0026#39;姓名\u0026#39;: name, \u0026#39;年龄\u0026#39;: age}))
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义