鱼C论坛

 找回密码
 立即注册
查看: 1692|回复: 0

[技术交流] 《Python零基础》011、列表:一个打了激素的数组2

[复制链接]
发表于 2017-7-24 20:28:34 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 caodouhao 于 2017-7-24 20:50 编辑

从列表中获取元素
跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从 0 开始的。
  1. >>> member = ['小甲鱼','黑夜','牡丹','怡静']
  2. >>> member[3]
  3. '怡静'
  4. >>>
复制代码

从列表删除元素

remove()不需要知道位置,只需要知道在列表中即可删除,必须知道元素的准确名字。
  1. >>> member = ['小甲鱼','黑夜','牡丹','怡静']
  2. >>> member.remove("怡静")
  3. >>> list(member)
  4. ['小甲鱼', '黑夜', '牡丹']
  5. >>>
复制代码

del

del是一个语句,可以删除一个列表中指定位置的元素,或删除整个个列表。删除指定位置元素。
  1. >>> list(member)
  2. ['小甲鱼', '怡静', '黑夜', '牡丹']
  3. >>> <font color="#ff0000">del</font> member[0]
  4. >>> list(member)
  5. ['怡静', '黑夜', '牡丹']
复制代码
不指定元素位置,则删除整个列表。
  1. >>> list(member)
  2. ['怡静', '黑夜', '牡丹']
  3. >>> <font color="#ff0000">del </font>member
  4. >>> list(member)
  5. Traceback (most recent call last):
  6.   File "<pyshell#18>", line 1, in <module>
  7.     list(member)
  8. NameError: name 'member' is not defined
复制代码


pop()
默认删除最后一个元素并返回给你。
pop(1)加数字,表示删除列表中指定位置的元素。
  1. >>> list(member)
  2. ['小甲鱼', '黑夜', '牡丹', '怡静']
  3. >>> member.pop()
  4. '怡静'
  5. >>> list(member)
  6. ['小甲鱼', '黑夜', '牡丹']
  7. >>>
复制代码
  1. >>> member = ['小甲鱼','黑夜','牡丹','怡静']
  2. >>> list(member)
  3. ['小甲鱼', '黑夜', '牡丹', '怡静']
  4. >>> a = member.pop(1)
  5. >>> list(member)
  6. ['小甲鱼', '牡丹', '怡静']
  7. >>> list(a)
  8. ['黑', '夜']
  9. >>>
复制代码

列表分片(Slice)
利用索引值,每次我们可以从列表获取一个元素,但是我们总是贪心的,如果一次性需要获取多个元素,有没有办法实现呢?
利用列表分片,我们可以简单的实现这个要求。此方法是将原列表复制出一个新的列表,原列表并没有被改变。
格式:
列表名 [ 左索引值:右索引值:步长 ]

左右索引值及步长都可以省略,左索引值省略时表明,列表元素从0开始,右索引值省略表示包含左索引值右边的所有元素,步长省略表明步长为1。
  1. >>> member = ['小甲鱼','黑夜','牡丹','怡静']
  2. >>> member[1:3]
  3. ['黑夜', '牡丹']
  4. >>> member
  5. ['小甲鱼', '黑夜', '牡丹', '怡静']
  6. >>>
复制代码

member[:]
左右索引值都省略,是将原列表复制。

  1. >>> member
  2. ['小甲鱼', '黑夜', '牡丹', '怡静']
  3. >>> member[:]
  4. ['小甲鱼', '黑夜', '牡丹', '怡静']
  5. >>>
复制代码

python支持负数索引,-1相当于列表中右侧第一个元素值,以此类推。步长也允许为负值
  1. >>> member[:]
  2. ['小甲鱼', '黑夜', '牡丹', '怡静']
  3. >>> member[-1:-3:-1]
  4. ['怡静', '牡丹']
  5. >>>
复制代码

reverse(),
将列表元素逆序排列
  1. >>> list(member)
  2. ['小甲鱼', '黑夜', '牡丹', '怡静']
  3. >>> member.reverse()
  4. >>> list(member)
  5. ['怡静', '牡丹', '黑夜', '小甲鱼']
  6. >>>
复制代码
copy()   
拷贝
  1. >>> list(member)
  2. ['怡静', '牡丹', '黑夜', '小甲鱼']
  3. >>> member1 = member.copy()
  4. >>> member1
  5. ['怡静', '牡丹', '黑夜', '小甲鱼']
  6. >>>
复制代码


说明:
通过将已知列表名直接赋值给一个变量通过分片操作及列表内置方法copy()赋值给一个变量新建一个列表区别
前者两个变量指向通一个数据存储空间,存储空间内数值发生变化,则两者均改变。
后者相当于重新建立了一个存储空间,里面的数据不受其他空间内数值变化影响。
  1. >>> member
  2. ['怡静', '牡丹', '黑夜', '小甲鱼']
  3. >>> member1 =member
  4. >>> member2 = member1[:]
  5. >>> member3 = member.copy()
  6. >>> member.reverse()
  7. >>> member
  8. ['小甲鱼', '黑夜', '牡丹', '怡静']
  9. >>> member1
  10. ['小甲鱼', '黑夜', '牡丹', '怡静']
  11. >>> member2
  12. ['怡静', '牡丹', '黑夜', '小甲鱼']
  13. >>> member3
  14. ['怡静', '牡丹', '黑夜', '小甲鱼']
  15. >>>
复制代码
membe1的内容收到member中内容的影响。


评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 07:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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