Python全栈笔记(六)
4. 列表(list)可以把列表当做是一个有序的容器,在里面可以放很多的元素。4.1 列表的定义列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它在支持数字,字符串甚至可以包含列表(所谓嵌套)列表是写在方括号[]之间的,用逗号分隔开的元素列表列表索引值以0为开始,-1为从末尾的开始位置列表可以使用+操作符进行拼接,用*表示重复>>>user_list = ["
·
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 转换为列表
如果想要让某些元素转换为列表类型,一般需要通过list强转,他的内部其实就是循环每个元素,再将元素追加到列表中。
所以,想要转换为列表类型有要求:必须可以被循环的元素才能转换为列表。
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)
练习题
更多推荐
已为社区贡献1条内容
所有评论(0)