网站首页 > 基础教程 正文
这个系列断断续续地写到第九篇了,如果你坚持学,并扎实练习相关代码,应该来说已经具备初步解决一些具体任务的能力了。当然,对于一门功能强大的语言这还是不够的,我们应该继续学习Python技能。最近,也比较忙,有时也用Python帮朋友解决一些实际问题:有个朋友是个影迷收集很多经典电影(得有2000多部),电影文件名也不是很规范。他最近想系统梳理温习一下,并且想把所有文件按豆瓣评分排个序,同时加入电影类型、导演、主演、编剧等信息。这要是一个一个去豆瓣查询,录入整理,没个个把月估计干不完。关键还枯燥乏味啊。我说,你给我三天时间,第三天你准备好烧烤食材工具,我给你交货。这家伙乐坏了,不就是撸个串嘛,so easy。然后,我们各自行动,这家伙每天问我啥进展了?我总说快了,你把烧烤准备好就OK。到了第三天,我们如期相约,好家伙,够诚心啊:羊腿羊腰羊肉串还真是丰富。他说,来,给我结果,咱们开喝。我说等等我,我现在给你录入。这哥们一听,啥?你给我录?。。。我说是啊,我准备住你这里,你天天给我烤串,我打字快估计有个十天半个月给你搞定。。。这个当然是开玩笑了。不过,我确实这三天没给他干活。只不过开过玩笑后,我打开笔记本,用python写了十几行代码,眨眼功夫就把结果漂亮地交给他了。看吧,Python就是这么厉害!眨眼功夫就骗了一顿丰盛的烤串。
今天,咱们的内容实际上是个补遗。第六节那个口诀有一句没展开讲,先回忆一下第六节的口诀:
================
容器作类型
特点需分清
元组圆括号
元素很稳定
列表方括号
增删改查行
字典花括号
无序是特征
=================
其中,对列表的“增删改查行”没有具体讲,因为涉及内容较多。我说了,字符串,列表对业务人员来说非常重要,要认真掌握。掌握后就可以解决很多实际问题。正因为,他们如此重要,所以Python提供了很多高效实用的操作方法,今天咱们就来结合例子展开讲讲。
前面说了,列表是可变的容器类型序列。增删改查就是几种操作,增就是增加元素,删就是删除元素,改就是修改元素,查就是查找元素。对于这些操作Python都提供了相应的方法,当然不仅仅是增删改查,Python还提供了复制,排序,统计等操作方法。至于列表的创建,索引,切片等操作,在第六节已经介绍,你要是忘了回去复习一下。下面,选择一些主要方法予以介绍:
1、在列表中增加元素
在列表中添加新元素时,最简单的方式是将元素附加到列表末尾,使用方法:append()
a_list = ['banana', 'orange', 'mango', 'lemon']
a_list.append('apple')
print(a_list) # ['banana', 'orange', 'mango', 'lemon', 'apple']
还有一种方法就是在特定位置插入元素,使用方法:insert()
cycles = ['mobai', 'ofo', 'didi']
cycles .insert(0, 'xiaolan')
print(cycles) #['xiaolan','mobai', 'ofo', 'didi']
注意:如果仅仅是添加元素,尽可能使用append()方法,在添加大量元素时,这个方法很快。
2、在列表中删除元素
使用del语句删除指定位置元素
cycles = ['xiaolan','mobai', 'ofo', 'didi']
del cycles[3]
print(cycles) #['xiaolan','mobai', 'ofo']
del cycles #删除整个列表,即cycles不存在了
使用pop方法删除元素。方法pop()可删除列表末尾的元素,并让你能够接着使用它。
b_list = ['banana', 'orange', 'mango', 'lemon']
a=b_list.pop()
print(b_list) # ['banana', 'orange', 'mango']
print(a) # lemon
b_list.pop(0)
print(b_list) # ['orange', 'mango']
当然,pop()方法也能删除特定位置的元素,如上面后两行例子所示。
使用remove()删除指定元素。有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()。
b_list = ['banana', 'orange', 'mango', 'lemon']
b_list.remove('banana')
print(b_list) # ['orange', 'mango', 'lemon']
使用clear()方法清空列表。
cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.clear()
print(cycles) #[],变成空列表
3、修改列表元素
修改操作比较简单,直接使用索引进行修改。
b_list = ['banana', 'orange', 'mango', 'lemon']
b_list[0]='apple'
print(b_list) # ['apple', 'orange', 'mango', 'lemon']
4、查询列表元素
这个也比较简单,直接索引,或者查找位置
b_list = ['banana', 'orange', 'mango', 'lemon']
print(b_list.index('mango')) # 2
print(b_list[1]) #orange
print('mango' in b_list) #True 检查元素是否存在于列表
5、使用copy()方法复制列表
b_list = ['banana', 'orange', 'mango', 'lemon']
c_list = b_list.copy()
print(c_list) # ['banana', 'orange', 'mango', 'lemon']
6、使用加号(+)连接两个列表
b_list = ['banana', 'orange', 'mango', 'lemon']
cycles = ['xiaolan','mobai', 'ofo', 'didi']
new_list=b_list+cycles
print(new_list) # ['banana', 'orange', 'mango', 'lemon', 'xiaolan', 'mobai', 'ofo', 'didi']
还可以使用extend()方法来进行连接。
b_list.extend(cycles) print(b_list)
7、使用count()统计某元素的个数
num_list=[1,2,3,2,5,2,3,8]
nums=num_list.count(2)
print(nums) # 3
8、列表排序与反转
排序可以使用sort()方法
cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.sort()
print(cycles) # ['didi', 'mobai', 'ofo', 'xiaolan'] 按字母排序
上面的排序是对原列表进行排序,如果想保持原列表不变,可以使用python内置函数sorted()
cycles = ['xiaolan','mobai', 'ofo', 'didi']
new_cycles=sorted(cycles)
print(cycles) # ['xiaolan','mobai', 'ofo', 'didi'] 保持不变
print(new_cycles) # ['didi', 'mobai', 'ofo', 'xiaolan'] 已排序
反转就是将原来的列表倒过来
cycles = ['xiaolan','mobai', 'ofo', 'didi']
cycles.reverse()
print(cycles) #['didi', 'ofo', 'mobai', 'xiaolan']
9、遍历列表元素
遍历,就是一个一个的列出来。这个可以用上一节讲的循环结构来操作。我们说列表是一个序列,天生就是可以迭代的。因此,可以很方便的用循环进行遍历。
list=['1','2','3']
for value in list:#末尾加上冒号
print(value)#每次循环都把list列表中的值赋给value,赋值从索引号0开始
#输出
1
2
3
10、求列表的长度
这个操作使用频率也很高,所以放在最后。可以使用内置函数len()方便的获取列表长度。
cycles = ['xiaolan','mobai', 'ofo', 'didi']
size=len(cycles)
print(size) # 4
列表是非常重要的数据结构,一定要多多练习。留个作业吧。
cycles = ['xiaolan','mobai', 'ofo', 'didi']
1,计算列表长度并输出
2,列表中追加元素“hello",并输出添加后的列表
3,请在列表删除元素‘ofo’,并输出删除后的列表
4,请删除列表中的第2个元素,并输出删除后的元素的值和删除元素后的列表
5,请删除列表的第1到3个元素,并输出删除元素后的列表
6,请使用for循环输出列表中的所有元素
7, 请对元素进行按字母降序排序
8, 请对列表进行反转
- 上一篇: 一文搞明白RocksDB
- 下一篇: HTML DOM Fieldset 对象
猜你喜欢
- 2024-11-19 python常用列表函数
- 2024-11-19 一文搞明白RocksDB
- 2024-11-19 Python3 列表list合并的4种方法
- 2024-11-19 2 常见的Python数据结构-元组、列表
- 2024-11-19 Python 入门系列——14. List的CURD
- 2024-11-19 列表常用操作-增加与删除
- 2024-11-19 java泛型上下边界(? extend T,?super T)
- 2024-11-19 一文了解 Python 中的 append() 与 extend()方法
- 2024-11-19 [Python知识点]list列表append()和extend()的区别
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)