大家好,欢迎来到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 |
- 追加,在原列表中尾部追加值。append
user_list = ["苍老师", "有坂深雪", "大桥未久"] print("-----增加前,列表的数据-----") print(user_list) usertemp = input("请输入你喜欢的女优姓名:") user_list.append(usertemp) print("-----增加后,列表的数据-----") print(user_list)
- 扩展,将一个列表中的元素添加另外一个列表。extend
a = [1,2] b = [3,4] a.append(b) # 将b列表当做一个元素,加入到a列表 print(a) a.extend(b) # 将b列表中的每个元素,逐一加入到a列表 print(a)
- 插入,在原列表的指定索引位置插入值。insert
user_list = ["苍老师", "有坂深雪", "大桥未久"] print("-----增加前,列表的数据-----") print(user_list) user_list.insert(0, "天海翼") #指定下标位置插入元素。第一个变量表示下标,第二个变量表示元素(对象) user_list.insert(2, "吉泽明步") print("-----增加后,列表的数据-----") print(user_list)
- 在原列表中根据值删除(从左到右找到第一个删除)。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)
- 在原列表中根据索引踢出某个元素。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)
- 清空原列表
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "苍老师", "柚木提娜", "苍老师"] user_list.clear() print(user_list)
- 列表的排序
user_list = [1,4,2,3,5] user_list.reverse() #将列表所有元素反转 user_list.sort() #将列表元素升序 user_list.sort(reverse=True) #将列表元素降序
- 查找列表元素(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 其他
- 获取长度
user_list = ["苍老师", "有坂深雪", "大桥未久"] length = len(user_list) # len()可以得到列表的长度 # 用for循环遍历元素 i = 0 while i < length: print(user_list[i]) i += 1
- 索引
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] print(user_list[0]) print(user_list[3]) print(user_list[-1]) print(user_list[-4])
- 根据索引删除元素
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] del user_list[1] del user_list[3]
- 根据索引替换元素
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] user[0] = "天海翼" user[-1] = "仁科百华"
- 切片
user_list = ["苍老师", "有坂深雪", "大桥未久", "三上悠亚", "Kirara Asuka", "柚木提娜", "吉泽明步"] print( user_list[0:2] ) print( user_list[1:] ) print( user_list[:-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] )
- 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