看到了生成器一节,要生成杨辉三角
我就自己想了下,其中有个小分解动作,我就准备写个函数:也就是如果给定一个列表:
举例来说这个列表是,1,2,3,4,我想两两相加,得到3,5,7这三个数就行了。
本来是这样预期的:
1,2,3,4先转换为
0,1,2,3,4
1,2,3,4,0
+)
1,3,5,7,4
去掉首位得3,5,7
于是我写了函数:
deftransfer(L):
a=L
b=L
a.insert(0,0)
b.append(0)
c=[a[i]+b[i]foriinrange(min(len(a),len(b)))]
d=c[1:len(c)]
returnd
-----------------------------------------------------
**网友回复**:
你那应该写成 a=L[:],b=L[:] 后面d=c[1:len(c)-1] 应该就能得到你说的那个了
网友回复:
a,b得到的是地址所以insert和append操作的同一数组,实现你的想法就得在赋值给ab的时候开辟新空间,不过Python咋弄忘了
网友回复:
引用:盯裆猫发表于2020-11-915:38
a,b得到的是地址所以insert和append操作的同一数组,实现你的想法就得在赋值给ab的时候开辟新空间,不过Py...
网友回复:
引用:robot发表于2020-11-915:40
a=L[:]
b=L[:]
网友回复:
引用:小月亮么么哒发表于2020-11-915:40
你那应该写成 a=L[:],b=L[:] 后面d=c[1:len(c)-1] 应该就能得到你说的那个了
网友回复:
引用:wuandkv发表于2020-11-916:12
微信上天天看到廖雪峰的广告,挺烦的