学廖老师的python教程想到的
侧边栏壁纸
  • 累计撰写 57,246 篇文章
  • 累计收到 0 条评论

学廖老师的python教程想到的

James
2020-11-20 / 0 评论 / 66 阅读 / 正在检测是否收录...

看到了生成器一节,要生成杨辉三角

我就自己想了下,其中有个小分解动作,我就准备写个函数:也就是如果给定一个列表:

举例来说这个列表是,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

微信上天天看到廖雪峰的广告,挺烦的

0