鱼C论坛

 找回密码
 立即注册
查看: 2019|回复: 3

[经验总结] 第10,11,12讲:打了激素的数组|

[复制链接]
发表于 2019-8-21 11:05:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 熊宝宝要当红军 于 2019-8-20 10:45 编辑

一些点
0, number = b和 number = b[:] 的区别

话不多说,上例子:
  1. >>> b = list(range(0,10,2))
  2. >>> b
  3. [0, 2, 4, 6, 8]
  4. >>> number = b
  5. >>> number
  6. [0, 2, 4, 6, 8]
  7. >>> number.remove(4)
  8. >>> number
  9. [0, 2, 6, 8]
  10. >>> b
  11. [0, 2, 6, 8]
复制代码
number = b

可以理解为指针,number和b 都指向同一片内存单元,所以修改number,b的值也会发生变化


  1. >>> b = list(range(0,10,2))
  2. >>> b
  3. [0, 2, 4, 6, 8]
  4. >>> number = b[:]
  5. >>> number
  6. [0, 2, 4, 6, 8]
  7. >>> number.remove(4)
  8. >>> number
  9. [0, 2, 6, 8]
  10. >>> b
  11. [0, 2, 4, 6, 8]
复制代码
number = b[:]

number是列表b的拷贝,与与原列表对应的内存单元不同,所以修改number的值,b的值不会发生变化
1,在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长

1)步长可以是负数,负数!!!!,这就意味着我们可以改变方向!!!话不多说上例子:
  1. >>> list1 = [2, 3, 4, 5, 6, 7, 8, 9]
  2. >>> list1[::-1]
  3. [9, 8, 7, 6, 5, 4, 3, 2]
  4. >>> list1[6:2:-1]
  5. [8, 7, 6, 5]
  6. >>> list1[:2:-1]
  7. [9, 8, 7, 6, 5]
  8. >>> list1[6::-1]
  9. [8, 7, 6, 5, 4, 3, 2]
复制代码


2)当然步长可以是正数:
  1. >>> list1
  2. [2, 3, 4, 5, 6, 7, 8, 9]
  3. >>> list1[::2]
  4. [2, 4, 6, 8]
  5. >>> list1[2:6:2]
  6. [4, 6]
  7. >>> list1[:6:2]
  8. [2, 4, 6]
  9. >>> list1[2::2]
  10. [4, 6, 8]
复制代码


3)不能数0,不然就走不动了:

  1. >>> list1[::0]
  2. Traceback (most recent call last):
  3.   File "<pyshell#19>", line 1, in <module>
  4.     list1[::0]
  5. ValueError: slice step cannot be zero
复制代码

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +2 收起 理由
zltzlt + 2 + 2 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-21 11:09:46 | 显示全部楼层
可以可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 19:35:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-1 10:48:58 From FishC Mobile | 显示全部楼层
请问写成list1[2:6-1]会是同样结果吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 02:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表