day6学习总结
1. 列表
-
列表在同时处理多个数据的时候很有用。
-
列表是容器型数据类型,标志 [ ] ,里面多个元素用逗号隔开:[数据1,数据2,数据3,…]
-
列表是可变的,(指的是容器中的元素的个数和值可变,支持增删改)
-
列表是有序的(支持索引操作)
list1 = [1,1.23,"hello",True,(3,5)] print(list1)
-
元素的要求:没有要求(任何类型的数据都可以作为列表的元素,同一个列表中的元素的类型还可以不一样)
list1 = [1,1.23,"hello",True,(3,5)]
-
空列表:list1 = [ ]
-
获取数据:(查操作)
-
查单个元素:(一次获取一个元素)
-
语法:列表[索引] :获取指定列表中指定索引对应的元素
-
说明:
列表:需要获取元素的列表(可以时任何结果是列表的表达式,比如:保存列表的变量,具体的列表数据等) 索引:列表中的每个元素都有两个索引值,一个从0开始递增,一个从-1开始递减。
-
注意:索引不能越界。否则会报错。
-
-
切片:(一次有规律的获取多个元素)
- 语法:列表[开始索引 : 结束索引 : 步长],根据下标和步长获取指定列表的
- 省略语法,
- [开始索引 : 结束索引]省略步长,相当于步长为1。
- [ : 结束索引 : 步长],省略开始索引,默认从头开始(看步长的正负,开始下标在第一个或者最后一个)。
- [开始索引 : : 步长] ,省略结束索引,默认取到最后一个结束(如果步长为证,就从开始索引开始一直取到最后一个元素,如果步长为负,就从开始索引开始一直取到第一个元素)。
-
遍历:(一次获取一个元素)
-
方法:
# 方法1:for 变量 in 列表 循环体 # 方法2:通过下标来遍历列表 # 方法3:同时获取下标和元素 # 遍历 heroes = ['王昭君', '孙斌', '李白', '百里守约', '墨子', '澜', '孙悟空', '诸葛亮', '李信', '妲己'] for i in heroes: print(i) for x in range(len(heroes)) print(heroes[x]) # 通过下标来遍历列表 for index,item in enumerate(heroes): print(index,item) # 同时获取下标和元素
-
举例1:
# 练习2:统计nums中所有偶数的个数 nums = [23, 88, 90, 88, 67, 55, 11] count = 0 for i in nums: if i % 2 == 0: count += 1
-
举例2:
# 练习3: 统计list1中字符串的个数 list1 = [109, 23.4, True, 'abc', 'helo', 23, '12', False, None] count1 = 0 for i in list1: if type(i) == str: count1 += 1 print(count1)
-
-
增加:添加元素
-
列表.append(元素) ,在列表的最后添加指定元素。
-
列表.insert(下标,数据,),在列表的指定下标对应元素前插入指定元素。
list1 = [3,5,9] list2 = [11,13,15] list2.insert(1,12) list1.append(10) print(list1) # [3, 5, 9, 10] print(list2) # [11, 12, 13, 15]
-
-
删除:删除元素
-
del 列表 [下标],删除列表中指定下标对应的元素
-
列表.remove(元素),删除列表中指定元素。如果元素不存在,会报错;如果列表中有多个该元素,只会删除第一个出现的元素。
-
列表.pop(),取出列表的最后一个元素
-
列表.pop(下标),取出列表中的指定元素
-
注意:第一种第二种删除方法是彻底的删除,pop方法是让该元素离开该列表(可以放到别的地方)
list1 = [3,5,9,5,12] list2 = [11,13,15,18] del list2[0] list1.remove(5) print(list1) # [3, 9, 5,12] 只删除第一个出现的5 print(list2) # [13, 15,18] list1.pop() list2.pop(1) print(list1) # [3,9,5] print(list2) # [13,18]
-
-
修改:
-
列表[下标] = 新元素 : 修改列表中指定下标对应的元素为新元素
-
举例:
# 将不及格的分数改为重修 scores = [17, 89, 90, 81, 84, 4, 56] for index,item in enumerate(scores): if item < 60: scores[index] = "重修" print(scores)
-
-
列表操作:
-
数学运算符:+ , *
-
加:列表1+列表2:将两个列表中的元素依次合成一个新的列表
-
乘:列表 * N 或者 N * 列表:列表中的元素重复N遍产生一个新的列表。
list1 = [3,5,9] list2 = [11,13,15] print(list2+list1) # [11, 13, 15, 3, 5, 9] print(list1*2) # [3, 5, 9, 3, 5, 9]
-
-
in操作: 判断列表中是否存在指定元素(结果是True 或 False)
-
元素 in 列表
-
元素 not in 列表
-
举例:
print(10 in [10,20,30]) # True print([10] in [10,20,30]) # False print(5 not in [10,20,30]) # True print([20] not in [10,20,30,[20]]) # False
-
-