Python学习笔记-1

内嵌函数


print(objects="",end="\n", flush=False) 
  • flush: 是否强制刷新缓存
  • end: 结束符号

id(object)

返回对象的唯一标识符


random


random.shuffle(list)

将序列内的元素随机打乱。


字典

字典的两种访问方式

#第一种,直接for循环,访问的是字典的键:
for key in dict_student:
	print (key)

# 第二种,访问两个值
for key, value in dict_student.items():
	print(key, value)
#分别对 key 和 value 进行访问
for key in dict_student.keys():
	print (key)
for value in dict_student.values():
	print (value)


解包和压包

参考文献https://zhuanlan.zhihu.com/p/38914391

list是一个整体,把每个元素从list中剥离的过程,叫做解包,相反,称为压包
可迭代对象都可以解包,不过解包后赋值元素需要保持一直:

# 简单解包
>>> lis = ["apple", "orange", "banana", "cherry"]
>>> a,b,c,d = lis
>>> a
'apple'
>>> b
'orange'
>>> c
'banana'
>>> d
'cherry'

# * 的作用
>>> e, *f, g = lis
>>> e
'apple'
>>> f
['orange', 'banana']
>>> g
'cherry'

*表示多个元素,参考参数列表中*,很好理解

对于两个可迭代的对象,将它们对应的元素打包成为一个个的元组,返回这些对象组成的列表,zip(iteration a, iteration b)

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]

如果两个 可迭代对象长度无法对齐,那么以较短的那个作为长度标准。
有一些元素不使用的时候, _ 就是可以作为忽略那些元素的习惯。


lambda

看到一句话:明了胜于晦涩, 很棒。
lambda: 参数:运算
最小的函数定义:

f = lambda x,y:x+y
f(1,2)
>>> 3

def func(a):
	return lambda x:a*x
express = func(3)
ans = express()
ans(4)
>>> 12

所以, lambda更多的可以看做一个类,经过定义的lambda表达式可以作为对象:

f = lambda x:x*x
>>> <function <lambda> at 0x7fac54f619e0>

filter(function, iteration)
filter函数,是一个过滤器, iteration 的元素迭代的作为 function 的输入,如果迭代元素对应的 function 输出是 True ,则保留, 否则过滤。
这个函数的形式更类似于一个筛子,返回的值是 list,而只有在迭代这个返回值list的时候,这个筛子才开始真正的启动,否则它就默默的躺着,也不会因为 function 中的 bug 报错。

def func(x):
	"""保留正整数""
	if isinstance(x,int) and x>0:
		return True
	else:
		return False
nums = [1,-1,2,-2,3,-4, "test"]
inter = filter(func, nums)

# list化 实际上就是在迭代 filter
print(list(inter)) 
>>> [1, 2, 3]

for i in filter(func,nums):
	print(i)
>>>1
>2
>3

print(inter)
>>> <filter object at 0x7ff02729d0d0>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值