python高阶应用

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
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上官浩炀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值