一.列表相关的运算符
1.数学运算符:+、*
列表1+列表2 - 将两个列表合并成一个新的列表
list1=[100,200,300]
list2=[10,20]
print(list1+list2) # [100,200,300,10,20]
列表 * n 或 n*列表 - 列表中的元素重复n次 产生一个新的列表
list1=[100,200,300]
print(list2*3) # [10,20,10,20,10,20]
2.比较运算符:<、>、<=、>=、==、!=
补充:不同类型的数据可以用==和!=来比较是否相等,但是不能使用> < >= <=来比较大小;
1)==、!=
print([1,2,3]==[1,2,3]) # True
print([1,2,3]==[1,3,2]) # False -列表有序
print({1,2,3}=={3,2,1}) # True - 集合无序
2)> ,<,>=,<=
两个数列比较大小,比较的是第一对不相等元素的大小。
print([10,100,200,300]>[10,100,20,300,600,900]) # True
print([10,20,30]>[10,20]) # True
二.列表相关函数
1.max、min
max(序列) - 获取序列中最大的元素
min(序列) — 获取序列中最小的元素
nums=[10,29,78,34,56,5,72]
print(max(nums))
print(min(nums))
2.sum
sum(数字序列) - 求数列中所有数字的和
print(sum(nums))
print(sum(range(101))) # 求1到100的和
3.sorted
sorted(序列)- 将序列中的元素从小到大排序,产生一个新的列表
sorted(序列,reverse=True) -将序列中的元素从大到小排序,产生一个新的列表
4.len
len(序列) - 获取序列中元素的个数
5.list
list(序列) - 将序列的元素作为列表的元素创建一个新的列表
print(list('abc')) # ['a','b','c']
print(list(range(3))) # [0,1,2]
三.列表相关方法
1.列表.clear() - 清空列表
2.列表。copy()- 复制列表产生一个新列表
变量在保存数据的时候保存的其实就是数据在内存中的地址(python中的变量全是指针变量);
一个变量直接给另外一个变量赋值,赋的是地址
3.列表.count(元素)- 统计列表中指定元素的个数;
4.列表.extend(序列) - 将序列中的元素全部添加到列表中
5.列表.index(元素) - 获取元素在列表中的下标(由0开始的下标)
如果元素有多个,只返回第一个的下标;如果列表中没有此元素,会报错。
6.列表.reverse() - 列表逆序
7.列表.sort() 列表排序
和sortde()的区别在于:sorted会产生一个新的序列;列表.sort()在原来的列表上排序,会改变原来的列表;
四.列表推导式
1.推导式结构1
[表达式 for 变量 in 序列] - 让变量去序列中一个一个的取值,取完为止,每取一个值就将表达式的值作为列表的一个元素;
list1=[10 for x in 'abc']
print(list1) # [10,10,10]
list2=[x * 2 for x in range(5,11)]
print(list2) # [10, 12, 14, 16, 18, 20]
2.推导式结构2
[表达式 for 变量 in 序列 if 条件语句] -
创建一个列表,变量在序列中取值,一个一个取,取完为止,每取一个值就判断条件语句是否成立,如果为True,那计算表达式的结果为列表的元素
# 练习:提取nums中所有的奇数
nums=[23,89,90,56,41,802]
list1=[x for x in nums if x % 2]
print(list1)
五.三目运算符
c 和 java
表达式?值1:值2 - 表达式结果为真结果就是值1,否则结果为值2;
python
值1 if 表达式 else 值2 - 如果表达式的值为True结果就是值1,否则结果就是值2;