定义空类
class data1:
pass
然后实例
n=10
Data=[data1()]*n # N为结构体长度
#赋值
Data[0].id='w'
Data[0].num=[1,2,3]
Data[n].id=['x']
发现这么写有个问题,来更新
用Data=[data1()]*n 的方式创建发现,只要修改一个,其他所有的都变了
目前只找到一个解决方案:用Data=[data1(), data1(),data1(),data1()] 代替Data=[data1()]*4
但如果有100个条目要放进去呢,这么复制粘贴太蠢了
继续更新
今天忽然想到,只修改一个项目其他的都跟着变,可能跟之前在课程里刷到的浅拷贝和深拷贝有关,进过一番百度总结出以下代码,创建结构体的任务历时五天总算搞定了
import copy
class data1: #空类
pass
n=10
data=[]
for i in range(n):
data.append(copy.deepcopy(data1()))
data[0].id='s0' #赋值
data[2].id='s2'
data[1].id='s1'
data[0].id #查看,没有被后面的赋值改变
Out[49]: 's0'