Python 核心编程笔记_Chapter_6_Note_1 序列_字符串_列表_元组

基本概念都差不多了,不过看到一些内容之前没记录过,还是记录下。

顺序排序是从0开始到N-1结束

倒序排列是从N-1结束,到-1结束

很容易忽视的一个倒序基础知识







切片索引的更多内容
切片索引的语法要比简单的单一元素索引灵活的多。开始和结束素引值可以超过字符串的
长度。换句话说,起始索引可以小于0,而对于结束索引,即使索引值为100 的元素并不存在也
不会报错,简单地说,即使用100 来作为一个长度不到100 的序列的结束索引也不会有什么问
题,例子如下:
>>> ('Faye', 'Leanna', 'Daylen')[-100:100]
('Faye', 'Leanna', 'Daylen')



下面这个例子又扫盲了,增加基础知识

s = 'abcde'
i = -1
for i in range(-1, -len(s), -1):     
 print (s[:i])

如果按照正常的range(-1,-5),他是打印不出结果来的,是空的.

但是他用了-len(s)这样的相当于不确定量的话,python会自动帮你调整位置,比如这个例子中,len出来的长度是5,所以应该是(-5,-1),python会自动帮你调整,然后最后再进行倒序排列




然后下面看到一个关于max函数的用法,第一次见到,记录下


max(iter,key=None) or
max(arg0,arg1...,key=None)b 返回iter 或(arg0,arg1,...)中的最大值,如果指定了key,
这个key 必须是一个可以传给sort()方法的,用于比较的回调函数.
min(iter, key=None) or
min(arg0, arg1.... key=None)b 返回iter 里面的最小值;或者返回(arg0,arg2,...)里面的

最小值;如果指定了key,这个key 必须是一个可以传给sort()方法的,用于比较的回调函数.


原来学max的时候,不知还能制定key,这里搜了一下例子,发现key需要是表达式,如下:

但是为什么是7但是不是8呢?

因为key=lambda x: x > 6

那么
key(0) = False
key(1) = False
key(2) = False
...
key(6) = False
key(7) = True
key(8) = True
key(9) = True

max([1,2,3,4,5,6,7,8], key=lambda x: x > 6)

等价于
max(False,False,False,...,False, True, True, True)
7是第一个True, 返回7.


还有个例子没想明白.....晚上回去上stackoverflow去问






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值