将程序改成python遇到种种问题,
主要还是列表的使用问题:
假设现在有这样一个结构体route,里面有一个start[],有一个end[],有一个size[]
重点在于route并不是顺序生成的,比如先生成route[2],再生成route[0]
假设用c++数组是这样
route[2].start[0]=1;
route[2].end[0]=2;
route[2].size[0]=3;
而之前route[1]还没有生成,这个是合理的,我可能先知道2号车的路线,再知道1号车的路线
而用python
route=[]
for i in range(3):
route.append([])
route[2].append([1,2,3])
我目前只能想到这种写法,说白了就是先将列表(数组)生成好,每一个作为列表再填充内容
python列表确实比较方便,但是感觉处理复杂一点的数据结构,比如3,4重结构体嵌套的感觉怪怪的, 那个括号打的要报警....估计还有其他简便方法吧,看官请赐教
另外假设c++经常有一种写法
for (i=1;i<=n;i++)
{
***
***
if (不符合某个条件)
i--;
}
但是不能用python这样写
for i in range(n):
***
***
if (不符合某个条件)
i=i-1
这样还是循环n次,比如4还是[0,1,2,3]只不过中间不符合的话把i--但是下一次还是从列表中应该出发的数开始
只能改成这样
i=0
while(i<n):
**
**
if (符合某个条件)
i++