1.For-Else语句
else从句会在循环正常结束时执⾏
for item in range(10):
if item > 3:
print('找到了')
break
else:
print('没找到')
2.推导式
推导式是可以从⼀个数据序列构建另⼀个新的数据序列的结构体
- 列表(list)推导式
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)
#output:[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
- 字典(dict)推导式
mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3}
pp = {v: k for k, v in mcase.items()}
print(pp)
#output:{10: 'a', 34: 'b', 7: 'A', 3: 'Z'}
- 集合(set)推导式
squared = {x**2 for x in [1, 1, 2]}
print(squared)
3.枚举
- 不接受参数
my_list = ['apple', 'banana', 'grapes', 'pear']
for index, value in enumerate(my_list):
print(index, value)
#output
#0 apple
#1 banana
#2 grapes
#3 pear
- 接收参数
my_list = ['apple', 'banana', 'grapes', 'pear']
for index, value in enumerate(my_list,1):
print(index, value)
- 来创建包含索引的字典
my_list = ['apple', 'banana', 'grapes', 'pear']
print(dict(enumerate(my_list)))
# {0: 'apple', 1: 'banana', 2: 'grapes', 3: 'pear'}
4. lambda表达式
原型: lambda 参数:操作(参数)
add = lambda x, y: x + y
print(add(3, 5))
# Output: 8
5.列表排序
uu = [
{'name': '张山', 'age': 18, 'sex': 1},
{'name': '李四', 'age': 45, 'sex': 1},
{'name': '王五', 'age': 23, 'sex': 1},
{'name': '来回', 'age': 53, 'sex': 1},
{'name': '方法', 'age': 33, 'sex': 1},
{'name': '方法', 'age': 21, 'sex': 1}
]
# 使用sorted 关键字
kk = sorted(uu, key=lambda x: x['age'])
# 使用列表的sort方法
uu.sort(key=lambda x: x['age'])
for item in uu:
print(item)
#{'name': '张山', 'age': 18, 'sex': 1}
#{'name': '方法', 'age': 21, 'sex': 1}
#{'name': '王五', 'age': 23, 'sex': 1}
#{'name': '方法', 'age': 33, 'sex': 1}
#{'name': '李四', 'age': 45, 'sex': 1}
#{'name': '来回', 'age': 53, 'sex': 1}
6.Map函数
Map会将⼀个函数映射到⼀个输⼊列表的所有元素上。
原型:map(function_to_apply, list_of_inputs)
# 把列表中所有元素⼀个个地传递给⼀个函数,并收集输出。
temp = [4, 12, 23, 45, 56]
res = []
for i in items:
res.append(i**2)
# Map可以⽤⼀种极简⽅式来实现。如:
temp = [4, 12, 23, 45, 56]
res= list(map(lambda x: x**2, items))
7.Filter函数
filter过滤列表中的元素,并且返回⼀个由所有符合要求的元素所构成的列表
_list = range(-6, 6)
res = filter(lambda x: x < 2, _list)
print(list(res))
# 注:上⾯print时,加了list转换,是为了python2/3的兼容性
# 在python2中filter直接返回列表,但在python3中返回迭代器
# 因此为了兼容python3, 需要list转换⼀下
# Output: [-5, -4, -3, -2, -1, 0, 1]
8.三元运算符
原型:condition_is_true if condition else condition_is_false
#如果条件为真,返回真 否则返回假
is_fat = '2'
temp = "true" if is_fat == '2' else "false"
print(temp) #true
# 伪代码
#(返回假,返回真)[真或假]
(if_test_is_false, if_test_is_true)[test]
#例⼦:
fat = True
fitness = ("skinny", "fat")[fat]
print("Ali is ", fitness)
#输出: Ali is fat