Python列表和字典
1、列表相关函数
1、max、min 求最大值、最小值
max(序列)
nums = [33,35,67,89,11]
print(max(nums),min(nums))
2、sum 求数字序列中元素的和
sum(序列)
nums = [33,35,67,89,11]
print(sum(nums))
3、sorted 排序 ; 不修改原序列中元素的顺序而是产生一个新的列表
sorted(序列);
sorted(序列,reverse = True)
nums = [33,35,67,89,11]
new_nums=sorted(nums)
print(nums) #[33, 35, 67, 89, 11]
print(new_nums) #[11, 33, 35, 67, 89]
# 列表.sort();列表.sort(reverse = True)
nums = [33,35,67,89,11]
result=nums.sort()
print(nums) #[11, 33, 35, 67, 89]
print(result) #None
4、len (获取序列中元素个数)
len(序列)
5、list ( 列表类型转换)
list(序列): 所有的序列都可以转换成列表,转换时直接将序列中元素转换成列表元素
print(list('abc')) #['a', 'b', 'c']
print(list(range(5))) #[0, 1, 2, 3, 4]
nums = [33,35,67,89,11]
print(list(enumerate(nums)))
#[(0, 11), (1, 33), (2, 35), (3, 67), (4, 89)]
2、列表推导式
1.列表推导式 :本质是创建列表的表达式(简洁)
结构1:
[表达式 for 变量 in 序列]
结构2:
[表达式 for 变量 in 序列 if 条件语句]
list1 = [10 for x in range(4)]
print(list1)
# [10, 10, 10, 10]
list2 = [x for x in range(4)]
print(list2)
# [0, 1, 2, 3]
list3 = [x*2+1 for x in range(4)]
print(list3)
# [1, 3, 5, 7]
scores = [56,67,78,99,12]
list4 = [x>=70 for x in scores]
print(list4) #[False, False, True, True, False]
list5 = [10 for x in range (4) if x%2]
print(list5) #[10, 10]
list6 = [x for x in range(4) if x%2]
print(list6) #[1, 3]
list7 = [x for x in range(4) if x >=60]
print(list7) #[]
应用1:让序列中所有元素进行统一变换
[表达式 for 变量 in 序列]
应用2: 将序列中满足某个条件的元素进行变换(根据某个条件是否满足做两种不同的变换)
[表达式1 if 条件语句 else 表达式2 for 变量 in 序列]
应用3:提取序列中满足某个条件的元素(提取、删除)
[表达式 for 变量 in 序列 if 条件语句]
nums = [89, 67, 34, 56, 10, 90]
new_nums = [[x,nums[x]] for x in range(len(nums))]
print(new_nums) # [[0, 89], [1, 67], [2, 34], [3, 56], [4, 10], [5, 90]]
# 练习:将nums中所有的偶数除以2
# [89, 67, 34, 56, 10, 90, 35] -> [89, 67, 17, 28, 5, 45, 35]
nums = [89, 67, 34, 56, 10, 90,