【python】一些Unconventional操作

推导式

列表推导式

list1 = [i for i in range(10)]
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

元组推导式

tuple1 = (i for i in range(10)) # generator
for i in tuple1:
	print(i, end = " ")
# 0 1 2 3 4 5 6 7 8 9 

字典推导式

dict1 = {"a":10,"B":20,"C":True,"D":"hello world","e":"python教程"}
dict2 = {key:value for key, value in dict1.items() if key.islower()}
dict2
# {'a': 10, 'e': 'python教程'}

集合推导式

set1 = {i**2 for i in [1,2,3]}
set1
# {1, 4, 9}

匿名函数

# 普通函数
def fun_o(x, y):
	return x * y
# 匿名函数
fun_n = lambda x, y: x * y
fun_o(2, 3) == fun_n(2, 3)
# True

切片

python的切片操作是一个很酷炫的功能,但是有时候又容易搞糊涂,尤其是在使用numpy的时候,其实只要记住四个字:左闭右开

a = [i for i in range(10)] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[5:9] # [5, 6, 7, 8] 右边的数字9无法取到
a[5:] # [5, 6, 7, 8, 9] 该方法可以取到9
a[-3:-1] # [7, 8] 同样,数字9无法取到
a[-3:] # [7, 8, 9]

断言

pwd = "@@@"
try:
    assert pwd.isalnum(), "密码只能是数字或字母"
except AssertionError:
    print("这就是断言错误啦")
else:
    print("没有错误嘻嘻")
finally:
    print("断言错误只有在条件为false时触发")
# 这就是断言错误啦
# 断言错误只有在条件为false时触发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值