python学习笔记1

来源:互联网 发布:淘宝店铺导航条隐藏 编辑:程序博客网 时间:2024/04/26 20:37

今天看来 python 帮助文件中的教程的第1到第3章,觉得其中第3章中的slice比较狡猾:

str = 'abcdef'

str[2:3]代表的意思比较有趣,虽然str[0]='a', str[1]='b',......

但是str[2:3] = 'c' !

教程中以“HelpA”为例来介绍(如下)但是感觉理解起来有些牵强。

+---+---+---+---+---+
 | H  | e  |  l  | p  | A |
 +---+---+---+---+---+
 0   1    2    3    4   5
-5  -4  -3  -2   -1

或许是因为它的解释是基于index指向的并非某个字符而是字符间隙的缘故,我认为下面的理解更好:

+---+---+---+---+---+
| H  | e  |  l  | p  | A |
+---+---+---+---+---+
   0   1    2    3    4   
  -5  -4  -3    -2   -1

这个理解更符合C使用者的概念:从左到右字符下标从0到4,但是从右到左的时候注意是从-1开始算起。

为什么,如果最右是0就和最左重复了:)

另外str[2:3]要理解为取str中下标 >= 2但是 < 3 的!也就是个左开右闭的区间!所以str[2:3]='c'

更复杂的例子:

a = ['spam', 'eggs', 100, 1234]

a[1:-1] =?

很好办从a[1]开始是 'eggs', 100, 1234, 但是要小于a[-1] (a[-1]='1234')

所以a[1:-1]=['eggs',100]


原创粉丝点击