鱼C论坛

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

[技术交流] 19列表(三)

[复制链接]
发表于 2022-10-14 21:39:07 | 显示全部楼层 |阅读模式

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

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

x
一、改
1.列表是可变的,而字符串是不可变的。
2.替换列表中的元素是使用下标索引的方法,用赋值运算符就可以将新的值替换进去。
eg.
>>> heros = ["蜘蛛侠","绿巨人","黑寡妇","鹰眼","灭霸","雷神"]
>>> heros[4] = "钢铁侠"
>>> heros
['蜘蛛侠', '绿巨人', '黑寡妇', '鹰眼', '钢铁侠', '雷神']

替换多个连续的元素(切片).eg
>>> heros[3:] = ["武松","林冲","李逵"]                #Step one:将赋值号(=)左边的内容删除
>>> heros
['蜘蛛侠', '绿巨人', '黑寡妇', '武松', '林冲', '李逵']     #Step two:将赋值号(=)右边的可迭代对象中的片段插入左边被删除的位置

只有数字的列表,进行列表中数字从小到大排列eg.
>>> nums = [6,2,3,4,1,7,8,4,3,5,5,6]
>>> nums.sort()
>>> nums[code]>>> nums.count(3)
2
[1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 8]
[/code]

从大到小排序eg.
>>> nums.reverse()
>>> nums
[8, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 1]
>>> heros.reverse()
>>> heros
['李逵', '林冲', '武松', '黑寡妇', '绿巨人', '蜘蛛侠']

reverse():原地反转列表中的元素,默认值是False,如果将它设置为True,那么排序结果就会原地反转。
>>> nums = [6,2,3,4,1,7,8,4,3,5,5,6]
>>> nums.sort(reverse=True)
>>> nums
[8, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 1]

二、查
1.nums这个列表有多少个3
eg.
>>> nums.count(3)
2

2.查某个元素的索引值
eg.
>>> heros.index("绿巨人")
4

3.不知道某个元素的索引值,想要把它替换
eg.
>>> heros[heros.index("绿巨人")] = "神奇女侠"
>>> heros
['李逵', '林冲', '武松', '黑寡妇', '神奇女侠', '蜘蛛侠']

4.如果有多个相同的元素,index它会返回第一个找到的元素的下标值
eg.
>>> nums = [6,2,3,4,1,7,8,4,3,5,5,6]
>>> nums.index(3)
2

5.index还有两个可选的参数,index(x,start,end),指定查找的开始和结束位置。
eg.
>>> nums.index(3,3,10)
8

6.copy():用于拷贝一个列表。
eg.
>>> nums_copy1 = nums.copy()    #将nums的值拷贝完,赋值给nums_copy1
>>> nums_copy1
[6, 2, 3, 4, 1, 7, 8, 4, 3, 5, 5, 6]
另一种方法(切片)eg.
>>> nums_copy1 = nums[:]
>>> nums_copy1
[6, 2, 3, 4, 1, 7, 8, 4, 3, 5, 5, 6]

这两种拷贝方法都称之为浅拷贝。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 23:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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