写东西的时候掉了一个大坑,懒了一下,随口问了一些别人切片操作,结果调了半天才发现别人回答有误。自力更生,记一下一些东西吧。

切片操作是指对序列(字符串、列表、元组等等)的复制操作。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
a = [1,2,3,4,5,6,7,8]
a[0:]
[1, 2, 3, 4, 5, 6, 7, 8]
i = 4; a[i:]
[5, 6, 7, 8]
a[:i]
[1, 2, 3, 4]
a[0:i]
[1, 2, 3, 4]
a[i:-1]
[5, 6, 7]
a[:]
[1, 2, 3, 4, 5, 6, 7, 8]

我之前就是被误导,试图使用 a[i:-1] 取得序列的后一段。 还有一些 Python 的提示,速记一下。

  • 元组内容不可改变,但是元组内如果有可变元素(列表、字典),这些元素是可变的。
  • 魔法字符串建议使用 #!/usr/bin/env python 或类似的。
  • 建议使用 with open() as file_instance 来处理文件,尤其是读取文件。
  • 使用魔法字符串并赋予文件可执行权限,直接运行时不会在路径下编译 pyc 文件。