python列表相关操作、函数、方法、推导式以及认识元组
1.列表相关操作
1)数学运算符:+、*
列表1 + 列表2 - 将两列表合并成一个新列表
列表 * N、N * 列表 - 将列表元素重复N遍后产生一个新的列表,N必须是一个正整数。
list1 = [1,2,3]
list2 = [3,4,5]
print(list1 + list2)#[1, 2, 3, 3, 4, 5]
print(list1 * 2)#[1, 2, 3, 1, 2, 3]
2)比较运算符:>、<、>=、<=、==、!=
a、比较相等:==、!=
必须是两个一模一样的列表才相等。
b、比较大小:>、<、>=、<=
两个列表比较大小就是比较第一对不相等元素的大小。
list1 = [1,2,3]
list2 = [3,4,5]
list3 = [1,2,3]
print(list1 == list2, list1 == list3)#False True
print(list1 > list2)#False
3)in 和 not in
写法:元素 in 列表
作用:判断指定列表中是否存在指定元素。
写法:元素 not in 列表
作用:判断指定列表中是否不存在指定元素。
names = [ '张三', '李四', '王五']
print('李四' in names, '李四' not in names)#True False
2.列表相关函数(系统函数):sum、max、min、len、sorted、list
1)sum(数字列表/数字序列) - 求数字列表或者数字序列中所有元素的和;
2)max(列表)/min(列表) - 求列表中所有元素的最大值/最小值;
3)len(列表) - 求列表中元素的个数
4)sorted(列表) - 将列表中元素从小到大排序,产生一个新列表;
sorted(列表,reverse = True) - 将列表中元素从大到小排序,产生一个新列表;
5)list(数据) - 将其他容器型数据类型转换成列表,所有序列都可以转换成列表,将其他序列转换成列表的时候是直接将序列中元素转换成列表中元素。
list1 = [3, 7, 9, 2, 1, 4, 5, 8, 6]
print(sum(list1))#45
print(max(list1), min(list1))#9 1
print(len(list1))# 9
print(sorted(list1))#[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(sorted(list1, reverse=True))#[9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list((3, 4, 1)))#[3, 4, 1]
3.列表相关方法
1)clear
语法:
列表.clear()
作用:清空列表。
2)copy
语法:
列表.copy()
作用:复制指定列表产生一个一样的新列表,将新的列表返回。
具有相同功能是写法有:列表[:]、列表*1、列表+[]。
copy和用变量给新变量赋值的区别:变量赋值是将一串数据保存到内存里,然后将此数据的地址,对应到变量;用已经赋值的变量在去给新变量赋值是将这个地址也对应到新的变量,当两个变量中一个发生变化那么都会发生变化;copy后赋值是在复制一个相同数据保存到一个新的地址,将新地址对应到copy后需要赋值的变量。
3)count
语法:
列表.count(元素)
作用:统计列表中指定元素的个数。
4)extend
语法:
列表.extend(序列)
作用:将序列中所有元素都添加到列表中。
5)index
语法:
列表.index(元素)
作用:获取元素在列表中对应下标(是从0开始的下标);如果获取元素不存在会报错;如果获取元素有多个,只获取最前面那个元素的下标。
6)reverse
语法:
列表.reverse()
作用:倒序,不会产生新列表。
7)sort
语法:
列表.sort()
列表.sort(reverse=True)
作用:将列表元素从小到大排序,不会产生新列表;
加reverse=True后是将列表元素从大到小排序,不产生新列表。
list1 = [1, 2]
print(list1.clesr())#None
list2 = [3, 4]
nums = list2.copy()
print(nums)#[3,4]
list3 = [1, 1, 2, 3]
print(list3.count(1))