Python全栈笔记(六)

Python全栈笔记(六)4 列表 list 可以把列表当做是一个有序的容器 在里面可以放很多的元素

大家好,欢迎来到IT知识分享网。

4. 列表(list)

可以把列表当做是一个有序的容器,在里面可以放很多的元素。

4.1 列表的定义

  • 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它在支持数字,字符串甚至可以包含列表(所谓嵌套)
  • 列表是写在方括号[]之间的,用逗号分隔开的元素列表
  • 列表索引值以0为开始,-1为从末尾的开始位置
  • 列表可以使用+操作符进行拼接,用*表示重复
>>>user_list = ["铁锤","钢弹","弹头","导弹", "火箭"] >>>print(user_list[1:4]) ['钢弹', '弹头', '导弹'] >>>number_list = [98,88,666,12,-1] >>>print(user_list + number_list) ['铁锤', '钢弹', '弹头', '导弹', '火箭', 98, 88, 666, 12, -1] testlist = [1,"测试"] print(type(testlist[0])) # 查看元素类型为int print(type(testlist[1])) # 查看元素类型为str 

4.2 常用方法(功能)

为了方便我们操作列表,Python中对所有列表提供了一些的功能。

操作名称 操作方法 举例
访问列表元素 通过下标直接访问 print(list[1])
列表切片 使用[: :] list[2:5:2]
遍历列表 使用for循环 for i in list: print(i)
[增]列表尾部追加 使用append方法 如下详细说明
[增]列表追加数据 使用extent方法 如下详细说明
[增]列表插入数据 使用insert方法 如下详细说明
[删]列表删除数据 del:通过索引删除指定位置的元素
remove:移除列表指定值的第一个匹配值。如果没找到会抛异常
如下详细说明
[删]列表尾部弹出 使用pop方法 如下详细说明
[改]更新列表数据 通过下标直接修改 list[1] = “Rio”
[查]列表成员关系 in,not in 2 in list1
[排]列表的反转 reverse 如下详细说明
[排]列表的排序 sort 如下详细说明
列表的加法操作 + list3 = list1 + list2
  1. 追加,在原列表中尾部追加值。append
 user_list = ["苍老师", "有坂深雪", "大桥未久"] print("-----增加前,列表的数据-----") print(user_list) usertemp = input("请输入你喜欢的女优姓名:") user_list.append(usertemp) print("-----增加后,列表的数据-----") print(user_list) 
  1. 扩展,将一个列表中的元素添加另外一个列表。extend
 a = [1,2] b = [3,4] a.append(b) # 将b列表当做一个元素,加入到a列表 print(a) a.extend(b) # 将b列表中的每个元素,逐一加入到a列表 print(a) 
  1. 插入,在原列表的指定索引位置插入值。insert
 user_list = ["苍老师", "有坂深雪", "大桥未久"] print("-----增加前,列表的数据-----") print(user_list) user_list.insert(0, "天海翼") #指定下标位置插入元素。第一个变量表示下标,第二个变量表示元素(对象) user_list.insert(2, "吉泽明步") print("-----增加后,列表的数据-----") print(user_list) 
  1. 在原列表中根据值删除(从左到右找到第一个删除)。remove,注意区别del
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "苍老师", "柚木提娜", "苍老师"] print("-----删除前,列表的数据-----") print(user_list) user_list.remove("苍老师") print("-----remove删除后,列表的数据-----") print(user_list) del user_list[2] print("-----del指定元素删除后,列表的数据-----") print(user_list) 
  1. 在原列表中根据索引踢出某个元素。pop
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "苍老师", "柚木提娜", "苍老师"] print("-----删除前,列表的数据-----") print(user_list) item1 = user_list.pop() # 在user_list删除最后一个,并讲删除值赋值给item1 print("-----删除后,列表的数据-----") print(user_list) item2 = user_list.pop(-2) # 在user_list中删除下标为-2的值,并将删除值赋值给item2 print(user_list) 
  1. 清空原列表
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "苍老师", "柚木提娜", "苍老师"] user_list.clear() print(user_list) 
  1. 列表的排序
 user_list = [1,4,2,3,5] user_list.reverse() #将列表所有元素反转 user_list.sort() #将列表元素升序 user_list.sort(reverse=True) #将列表元素降序 
  1. 查找列表元素(in,not in)
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "苍老师", "柚木提娜", "苍老师"] findName = input("请输入你要查找的名字:") if findName in user_list: print("库里包含该关键字") else: print("没有找到") mylist = ["a","b","c","a","b"] print(mylist.index("a",1,4)) #查询指定下标范围的元素并返回对应数据的下标 print(mylist.index("a",1,3)) #查找范围左闭右开[1,3),找不到会报错 print(mylist.count("b")) #统计某个元素出现的次数 

4.3 转换为列表

message = "我猜你的枪里没有子弹" data = list(message) print(data) # ["我","猜","你","的","枪","里","没","有","子","弹"] 

4.4 其他

  1. 获取长度
 user_list = ["苍老师", "有坂深雪", "大桥未久"] length = len(user_list) # len()可以得到列表的长度 # 用for循环遍历元素 i = 0 while i < length: print(user_list[i]) i += 1 
  1. 索引
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] print(user_list[0]) print(user_list[3]) print(user_list[-1]) print(user_list[-4]) 
  1. 根据索引删除元素
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] del user_list[1] del user_list[3] 
  1. 根据索引替换元素
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] user[0] = "天海翼" user[-1] = "仁科百华" 
  1. 切片
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] print( user_list[0:2] ) print( user_list[1:] ) print( user_list[:-1] ) 
  1. 步长
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] print( user_list[1:4:2] ) print( user_list[0::2] ) print( user_list[1::2] ) print( user_list[4:1:-1] ) 
  1. for循环
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] for item in user_list: print(item) 
 user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] for item in user_list: if item == "Kirara Asuka": continue print(item) 

4.5 嵌套

列表属于容器,内部可以存放各种数据,所以他也支持列表的嵌套,如:

data = [ "谢广坤",["海燕","赵本山"],True,[11,22,33,44],"宋小宝" ] 

对于嵌套的值,可以根据之前学习的索引知识点来进行学习,例如:

data = [ "谢广坤",["海燕","赵本山"],True,[11,22,33,44],"宋小宝" ] print( data[0] ) print( data[1] ) print( data[0][2] ) print( data[1][-1] ) data.append(666) print(data) del data[-2] print(data) data[1].append("谢大脚") print(data) 

练习题

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/153123.html

(0)
上一篇 2025-03-05 20:45
下一篇 2025-03-05 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信