07.Python列表相关运算符
1.数学运算符:+、*
列表1 + 列表2 - 将两个列表合并成一个新的列表
列表 * n - 列表中的元素重复N次,产生一个新的列表
2.比较运算符:<、>、<=、>=、==、!=
print([10, 20, 30] == [10, 20, 30]) # True print([10, 20, 30] == [10, 30, 20]) # False
2.<、>、<=、>=
#两个列表标大小,比较的是第一对不相等的元素比较 print([10, 200, 300] > [20, 1]) # False
3.max、min
# max(序列) - 最大值 # min(序列) - 最小值 nums = [1,23,43,5,6,23,65,76,32] print(max(nums)) print(min(nums))
4.sum
# 2. sum - 求序列中所有元素的和 nums = [1,23,43,5,6,23,65,76,32] print(sum(nums))
5.sorted
# sorted(序列) - 将序列中的元素从小到大排序,产生一个新的列表 # sortde(序列,reverse=True) - 倒序,从大到小 nums = [1,23,43,5,6,23,65,76,32] print(sorted(nums,reverse=True)) #[76, 65, 43, 32, 23, 23, 6, 5, 1]
6.len
len(序列) - 获取序列中元素的个数
list1 = [12,32,45,546,34,23] print(len(list1)) # 6
7.list
# list(序列) - 将序列的元素作为列表的元素创建一个新的列表 print(list(range(3))) #[0, 1, 2]
8.列表.clear() - 清空列表
list1 = [1,2,3,4] print(list1.clear()) # 清空列表
9.列表.copy - 复制,产生一个新列表 (浅拷贝)
# 列表[:] 、列表*1 、 列表+[](浅拷贝) # 变量砸死保存数据的时候保存的其实是数据在内存保存的地址(Python中的变量全是指针变量),一个变量给另外一个变量赋值,赋值的是地址 list1 = [1,2,3,4,5,6] list2 = list1 # 赋值 list3 = list1.copy() # 拷贝
10. 列表.count(元素) - 统计元素在列表出现的个数 可以赋值
list4 = [1,2,3,4,5,6,1,2,3,2,4,5,2] count1 = list4.count(2) print(count1)
11. 列表.entend(序列) - 将序列中元素全部添加到列表中
list4 = [3,2,4,5,2] list4.extend('qwe') # 分开添加多个元素 print(list4) #[3, 2, 4, 5, 2, 'q', 'w', 'e']
12. 列表.index(元素) - 获取元素在列表中的下标值(0开始的下标值)
# 多个元素 只获得第一个元素的下标 # 如果列表中没有该元素,会报错。?? is not in list list4 = [3,2,4,5,2] print(list4.index(2)) # 多个元素 只获得第一个元素的下标 1 #print(list4.index(20)) # ValueError: 20 is not in list
13. 列表.reveres() - 列表倒序
list4 = [3,2,4,5,2] list4.reverse() print(list4)
14. 列表.sort() / 原列表排序 只能对列表排序
list1 = [5,3,2,5,1,4,6,8] list1.sort() print(list1) # [1, 2, 3, 4, 5, 5, 6, 8]
15.表推导式 - 快速创建列表的表达式
nums = [i**2 for i in range(30) if i % 3 == 0 ] print(nums) # [0, 9, 36, 81, 144, 225, 324, 441, 576, 729] nums = [23,45,67,42,45,78,97,73,90] print([i%10 for i in nums]) # [3, 5, 7, 2, 5, 8, 7, 3, 0] print([i*10 for i in nums]) # [230, 450, 670, 420, 450, 780, 970, 730, 900] print(['及格' if i >= 60 else '不及格' for i in nums]) # ['不及格', '不及格', '及格', '不及格', '不及格', '及格', '及格', '及格', '及格']
16.三目运算符
age = 18 result = '成年' if age >= 18 else '未成年' print(result)
练习:
# 练习1:使用列表推导式提取nums中所有的奇数 nums = [23, 89, 90, 56, 41, 802] print([i for i in nums if i % 2]) # 练习2:已知一个列表,提取列表中所有的字符串 list1 = [10, 23.9, 'hello', True, '12', 0] print([i for i in list1 if type(i) == str]) # 练习3:已知一个列表,提取列表中所有的整数,并且将整数加3 # [13, 3] list1 = [10, 23.9, 'hello', True, '12', 0] print([i + 3 for i in list1 if type(i) == int])