鱼C论坛

 找回密码
 立即注册
查看: 4043|回复: 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()
在列表的最后添加一个元素
>>> test = []
>>> test
[]
>>> test.append(6)
>>> test
[6]
>>> test.append('I love FishC!')
>>> test
[6, 'I love FishC!']

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

3. copy()
浅拷贝(拓展内容见>>>这里<<<)
>>> raw = [1, 2, 3]
>>> same = raw
>>> different = raw.copy()
>>> raw
[1, 2, 3]
>>> same
[1, 2, 3]
>>> different
[1, 2, 3]
>>> raw.append(4)
>>> raw
[1, 2, 3, 4]
>>> same
[1, 2, 3, 4]
>>> different
[1, 2, 3]
>>> id(raw) == id(same)
True
>>> id(raw) == id(different)
False

4. count()
统计某一个元素在列表中的个数
>>> test = [1, 1, 2, 3, 1, 2]
>>> test.count(1)
3
>>> test.count(2)
2
>>> test.count(3)
1

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

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

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

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

9. remove()
移除列表中第一个指定的元素
>>> test = [1, 1, 2, 3, 4, 3]
>>> test
[1, 1, 2, 3, 4, 3]
>>> test.remove(1)
>>> test
[1, 2, 3, 4, 3]
>>> test.remove(3)
>>> test
[1, 2, 4, 3]

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

11. sort()
给列表排序, 可选参数: reverse(从大到小), key(为列表中每一个值进行key的计算, 按返回值大小排序
>>> test1 = [8, 3, -9, 2, 5, 3]
>>> test1
[8, 3, -9, 2, 5, 3]
>>> test1.sort()
>>> test1
[-9, 2, 3, 3, 5, 8]
>>> test1.sort(reverse = True)
>>> test1
[8, 5, 3, 3  2, -9]
>>> test2 = ['z', 'abcde', 'cde']
>>> test2
['z', 'abc', 'cdeeee']
>>> test2.sort() # 默认按ASCII值大小排序
>>> test2
['abc', 'cdeeee', 'z']
>>> test2.sort(key = len) # 要求按长度排序
>>> test2
['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-11-22 12:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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