day6-列表运算和列表相关

一、列表运算

1、列表+、*

1)列表1+列表2:将两个列表合并产生新的列表

eg:


list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = list1 + list2
print(list3) # [1, 2, 3, 4, 5, 6]

2)列表N、N 列表 列表重复N次产生一个新的列表

eg:

list1 = [1, 2, 3]
list2=list1*3
print(list2) # [1, 2, 3, 1, 2, 3, 1, 2, 3]

2、列表比较运算:==,!=,>,<,>=,<=

1)比较相等 :完全相等的两个列表相等

eg:

print([1, 2, 3] == [3, 4, 5])  # false
print([1, 2, 3] == [1, 2, 3])  # true

2)比较大小:>,<,>=,<=:下标一一对应比较,从不相等的一对开始比较,比较完结束

​ 比较的是第一对不相等的元素(一对指的是相同下标的元素)

eg:

print([1, 2, 34, 4, 5] > [0, 3])  # true
print([1, 2, 3, 4, 5] > [1, 2, 3, 5, 5])  # false

3、in 和not in

1)元素 in 列表 判断列表中是否存在指定元素

2)元素 not in 列表 判断列表中是否不存在指定元素

eg:

list1 = [1, 2, 3, 4]
print(1 in list1)  # true
print(6 not in list1)  # true

二、列表相关函数

1、max(序列)最大值和min(序列)最小值
2、sum(序列)求数字序列中所有元素的和
3、sorted(序列):将序列中的元素从小到大排序,产生一个新的列表(不修改原序列)
sorted(序列,reverse=True):将序列中的元素从大到小排序,产生一个新的列表(不修改原序列)
4、len(序列):获取序列的长度,获取元素的个数
5、list():把指定数据转换为列表(int,dict,不是序列)
所有的序列可以转换为列表,将序列的元素转换为列表的元素

三、列表相关方法(列表. )

1、列表.clear():清空列表元素
2、列表.copy():拷贝原列表,产生一个一样的新列表,与原列表无关联
列表=新列表:指向同一个内存,对其一新列表改变,其他新列表都会变
3、列表.count(元素):统计列表中指定元素的个数
4、列表.extend(序列):将序列中的元素全部添加到列表中
5、列表.index(元素):获取指定元素在列表中的下标值(如果元素不存在,会报错,如果元素不止一个,获取第一个下标)
6、列表.reverse():列表逆序,修改原列表
7、列表.sort():将列表元素从小到大排序(sort(reverse=True):将列表元素从大到小排序)
sort 修改原列表,sorted产生新新的列表排序,原列表不改变

四、列表推导式

结构一:对序列中的元素进行统一变换得到一个新列表

格式:[表达式 for 变量 in 序列]

eg:

num = [56, 738, 92, 351, 50]
num1 = [i % 100 // 10 for i in num]
print(num1) # [5, 3, 9, 5, 5]
结构二:筛选、对部分筛选通过的元素进行变换

格式:[表达式 for 变量 in 序列 if 条件语句](条件成立创建新的元素)

eg:

result = [x * 2 for x in range(5) if x % 2]
print(result) # [2, 6]
推导式和三目运算

eg:

nums = [19, 34, 56, 77, 91, 12]
result = [x if x % 2 != 0 else x // 2 for x in nums]
print(result) # [19, 17, 28, 77, 91, 6]
上一篇:Java开发环境搭建


下一篇:[转]DDD下的微服务代码结构