基础知识
day7-元组和字典
01.相关函数
1.max.min - 求最大值、最小值
max(序列)
nums=[34,89,78,56,90,23]
print(max(nums),min(nums))
2.sum - 求数字序列中元素的和
sum(序列)
print(sum(nums))
3.sorted - 排序;不修改原序列中元素的顺序而是产生一个新的列表
sorted(序列);
nums=[34,89,78,56,90,23]
new_nums=sorted(nums)
print(nums) # [34, 89, 78, 56, 90, 23]
print(new_nums) # [23, 34, 56, 78, 89, 90]
列表.sort() ; 列表, sort(reverse=True)
nums = [34,89,78,56,90,23]
result = nums.sort()
print(nums) # [23, 34, 56, 78, 89, 90]
print(result) # None
4.len - 获取序列中元素的个数
len(序列)
5.list - 列表类型转换
list(序列) - 所有的序列都可以转换成列表;
print(list(‘abc’)) # [‘a’, ‘b’, ‘c’]
02.列表推导式
1.列表推导式 - 本质就是创建列表的表达式
结构一:
[表达式 for 变量 in 序列]
结构二:
[表达式 for 变量 in 序列 if 条件语句]
list1 = [10 for x in range(4)]
list2 = [x for x in range(4)]
print(list2)
list3 = [x*2+1 for x in range(4)]
print(list3)
scores = [89,67,34,56,10,90]
list4 = [x*2 for x in scores]
print(list4)
list5 = [x for x in range(4) if x%2]
print(list5)
2.推导式的应用
应用1:让序列中所有的元素进行统一变换
[表达式 for 变量 in 序列]
应用2:将序列中满足某个条件的元素进行变换(根据某个条件是否蛮子做两种不同的变换)
[表达式1 if 条件语句 else 表达式2 for 变量 in 序列]
应用3:提取或者删除序列中满足某个条件的元素(提取、删除)
[表达式 for 变量 in 序列 if 条件语句]
nums=[89,67,34,56,10,90]
new_nums=[[x] for x in enumerate(nums)]
print(new_nums)
nums=[89,67,34,56,10,90,35]
new_nums=[x //2 if (x%2 ==0) else x for x in nums ]
print(new_nums)
nums=[89,67,34,56,10,90,35]
new_nums=[x for x in nums if x%2]
print(new_nums)
03.三目运算符
双目运算符:+,-,*,/,>,and,…
单目运算符:not
三目运算符:if-else
1.C / Jave 语言的三目运算符
条件语句?表达式1:表达式2 - 如果条件成立整个运算结果是表达1的值,否则为表达2得值.
2.python的三目运算符
表达式1 if 条件语句 else 表达式2 - 如果条件成立整个运算结果是表达1的值,否则为表达2得值.
age = 18
a = '成年' if age >= 18 else '未成年'
print(a)
04.元组
1.什么是元祖(tuple)
元祖是容器型类型,将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3…)
元祖不可变(查);元祖有序-支持下标操作
元素:和列表一样
1) 空元组,无意义
t1=()
print(type(t1),len(t1))
2)只有一个元素的元祖 - 唯一的元素后面必须加逗号
t2 = (12)
print(t2,type(t2