python基础(4)

'''
引用:核心值变不变,是新的引用还是在老引用基础上变了,就看数据是可变还是不可变

递归函数:函数可以嵌套,如果嵌套的自己,就是递归函数(实现阶乘),必须有停止条件类同循环

匿名函数: 使用lambda代表匿名,就是简写形式
        格式: lambda  参数 :  做什么           lambda 相当于 def 函数名
        实际使用: 排序  (实现排序,讲义上的例子熟练)
        格式:  list.sort(key=lambda x: x['name'])
        说明: 列表list.sort升序排列  ,  排列规则按照key来,  key= 函数找出键值['name']按照键值的顺序来排列
        其实是内置函数.sort(key)来实现排序,只不过使用key= lambda匿名函数

列表推导式:  又是一种简写 a = [x for x in range(0,10)],  a这个list的内容把循环写里
            循环0-10中的数写到列表里
            +if        a = [x for x in range(0,10) if x % 2 == 0]
            循环0-10中的数,and被2整除
            2个for     a = [(x,y) for x in range(0,10) for y in range(5,10)]
            结果就是(x,y)   是个列表套元组

            说白了把for,if等写进去,就是简化了append的过程
            a = [ 得到的数     这些数的条件     ]

            练习:(需要自己熟练打出来)
            列表是有序的,可以实现切片  [开始位置 :  结束位置  :  步长]
            练习 [1,2,3,...100]变成 [[1,2,3],[4,5,6]....]
            a = [x for x in range(1,101)]
            得到1-100 的列表
            ret1 = [a[x:x+3] for x in range(0,len(a),3)]         有没有发现和list的切片位置不一样,为什么步长在range里,看下边
            把a 切片   开始位置x     结束位置x+3
            range的0到len(a)是下标索引    步长为3   就是3个下标为一部分
            ret2 = [a[x:x+3:3] for x in range(0,len(a))]         这个应该是和list的基本型相同,看他俩的结果有什么不同为什么

            ret1 = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13, 14], [15, 16, 17], [18, 19, 20],...]

            ret2 = [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16],...]

            现在理解不深,避免结果问题,不使用  切片+ list推导式
            试试range(0,20,2)呗       range(开始位置, 结束位置, 步长)

            ret3 = [a[x:x+3] for x in range(0,len(a))]

            ret3 = [[0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9], [8, 9, 10], [9, 10, 11],...]

            ret4 = [a[x:x+3:2] for x in range(0,len(a))]

            ret4 = [[0, 2], [1, 3], [2, 4], [3, 5], [4, 6], [5, 7], [6, 8], [7, 9], [8, 10], [9, 11], [10, 12], [11, 13], [12, 14],...]
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值