鱼C论坛

 找回密码
 立即注册
查看: 3842|回复: 11

[技术交流] <知识点总结> 列表对象的常用方法【原创】

[复制链接]
发表于 2015-3-19 20:26:49 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 戴宇轩 于 2015-3-21 11:31 编辑

列表的所有除魔法方法外的函数有: ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
下面将逐一介绍它们:

1. append()
在列表的最后添加一个元素
  1. >>> test = []
  2. >>> test
  3. []
  4. >>> test.append(6)
  5. >>> test
  6. [6]
  7. >>> test.append('I love FishC!')
  8. >>> test
  9. [6, 'I love FishC!']
复制代码


2. clear()
在不改变内存中位置的情况下清空列表
  1. >>> raw = [1, 2, 3]
  2. >>> same = raw
  3. >>> raw
  4. [1, 2, 3]
  5. >>> same
  6. [1, 2, 3]
  7. >>> raw.clear()
  8. >>> raw
  9. []
  10. >>> same
  11. []
复制代码
有人说: "何必那么复杂, 直接raw = []不就完事了吗?"
但是, 这是不同的, 测试:
  1. >>> raw = [1, 2, 3]
  2. >>> same = raw
  3. >>> raw
  4. [1, 2, 3]
  5. >>> same
  6. [1, 2, 3]
  7. >>> raw = []
  8. >>> raw
  9. []
  10. >>> same
  11. [1, 2, 3]
  12. >>> id(raw) == id(same) # 检测它们在内存中在不在同一个地址
  13. >>> False
复制代码


3. copy()
浅拷贝(拓展内容见>>>这里<<<)
  1. >>> raw = [1, 2, 3]
  2. >>> same = raw
  3. >>> different = raw.copy()
  4. >>> raw
  5. [1, 2, 3]
  6. >>> same
  7. [1, 2, 3]
  8. >>> different
  9. [1, 2, 3]
  10. >>> raw.append(4)
  11. >>> raw
  12. [1, 2, 3, 4]
  13. >>> same
  14. [1, 2, 3, 4]
  15. >>> different
  16. [1, 2, 3]
  17. >>> id(raw) == id(same)
  18. True
  19. >>> id(raw) == id(different)
  20. False
复制代码


4. count()
统计某一个元素在列表中的个数
  1. >>> test = [1, 1, 2, 3, 1, 2]
  2. >>> test.count(1)
  3. 3
  4. >>> test.count(2)
  5. 2
  6. >>> test.count(3)
  7. 1
复制代码


5. extend()
将一个可迭代对象的每一项添加到列表的最后
  1. >>> test = [1, 2, 3]
  2. >>> test
  3. [1, 2, 3]
  4. >>> test.extend([11, 22, 33])
  5. >>> test
  6. [1, 2, 3, 11, 22, 33]
复制代码


6. index()
返回某个元素在列表中的下标
  1. >>> test = [3, 8, 4, 2, 1]
  2. >>> test
  3. [3, 8, 4, 2, 1]
  4. >>> test.index(2)
  5. 3
  6. >>> test.index(8)
  7. 1
  8. >>> test.index(4)
  9. 2
复制代码


7. insert()
将某个元素插在列表的某个位置
形式: ???.insert(位置, 元素)
  1. >>> test = [1, 1, 2, 3, 5, 8]
  2. >>> test
  3. [1, 1, 2, 3, 5, 8]
  4. >>> test.insert(3, 10)
  5. >>> test
  6. [1, 1, 2, 10, 3, 5, 8]
  7. >>> test.insert(5, 100)
  8. >>> test
  9. [1, 1, 2, 10, 3, 100, 5, 8]
复制代码


8. pop()
删除列表中指定位置的元素并返回, 默认位置为-1(最后)
  1. >>> test = [1, 1, 9, 3, 6, 8]
  2. >>> test
  3. [1, 1, 9, 3, 6, 8]
  4. >>> test.pop()
  5. 8
  6. >>> test
  7. [1, 1, 9, 3, 6]
  8. >>> test.pop(2)
  9. 9
  10. >>> test
  11. [1, 1, 3, 6]
复制代码


9. remove()
移除列表中第一个指定的元素
  1. >>> test = [1, 1, 2, 3, 4, 3]
  2. >>> test
  3. [1, 1, 2, 3, 4, 3]
  4. >>> test.remove(1)
  5. >>> test
  6. [1, 2, 3, 4, 3]
  7. >>> test.remove(3)
  8. >>> test
  9. [1, 2, 4, 3]
复制代码


10. reverse()
在不改变内存中位置的情况下反转列表
  1. >>> test = [1, 1, 2, 3, 5, 8]
  2. >>> test
  3. [1, 1, 2, 3, 5, 8]
  4. >>> test.reverse()
  5. >>> test
  6. [8, 5, 3, 2, 1, 1]
复制代码


11. sort()
给列表排序, 可选参数: reverse(从大到小), key(为列表中每一个值进行key的计算, 按返回值大小排序
  1. >>> test1 = [8, 3, -9, 2, 5, 3]
  2. >>> test1
  3. [8, 3, -9, 2, 5, 3]
  4. >>> test1.sort()
  5. >>> test1
  6. [-9, 2, 3, 3, 5, 8]
  7. >>> test1.sort(reverse = True)
  8. >>> test1
  9. [8, 5, 3, 3  2, -9]
  10. >>> test2 = ['z', 'abcde', 'cde']
  11. >>> test2
  12. ['z', 'abc', 'cdeeee']
  13. >>> test2.sort() # 默认按ASCII值大小排序
  14. >>> test2
  15. ['abc', 'cdeeee', 'z']
  16. >>> test2.sort(key = len) # 要求按长度排序
  17. >>> test2
  18. ['z', 'abc', 'cdeeee']
复制代码

评分

参与人数 2荣誉 +20 鱼币 +20 贡献 +8 收起 理由
wei_Y + 10 + 10 + 5 支持楼主!
~风介~ + 10 + 10 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2015-3-19 22:00:07 | 显示全部楼层
总结的很认真!继续努力哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-19 22:19:04 | 显示全部楼层
~风介~ 发表于 2015-3-19 22:00
总结的很认真!继续努力哦!

谢谢支持, 我会努力的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-19 23:57:01 | 显示全部楼层
搜藏了 多谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-20 11:46:48 | 显示全部楼层
谢谢楼主分享!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-20 12:06:27 | 显示全部楼层
楼主要继续努力~~期待更多的知识点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-20 12:49:53 | 显示全部楼层
支持楼主ing。
index返回的是第一次出现的下标。我感觉有必要写详细。因为我无数次被这货打败。。

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
戴宇轩 + 5 + 5 已改, 谢谢提醒^_^

查看全部评分

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

使用道具 举报

发表于 2015-3-23 17:08:50 | 显示全部楼层
:loveliness:学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-23 17:14:54 | 显示全部楼层
楼主辛苦了!:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-24 22:54:55 | 显示全部楼层
太NB了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-25 07:10:30 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-25 11:20:23 | 显示全部楼层
谢谢楼主的分享。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 22:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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