Skip to content

Python小技巧(小知识)

字符串

字符串可以用 + 进行连接,也可以用 * 进行重复

相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起

  • 只能对字面值这样操作,变量或表达式不行
  • 连接变量,或者连接变量和字面值,可以用 +
>>> "py" "thon"
'python'
>>> text = ('Put several strings within parentheses '
... 'to have them joined together.')
>>> text
'Put several strings within parentheses to have them joined together.'

列表

列表 可以包含不同类型的元素,但通常使用时各个元素类型相同

列表同样支持拼接操作:

>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

list.count(x):返回元素 x 在列表中出现的次数

list.copy():返回列表的一个浅拷贝,等价于 a[:]

list.pop([i]):删除列表中给定位置的元素并返回它。如果没有给定位置,a.pop() 将会删除并返回列表中的最后一个元素。( 方法签名中 i 两边的方括号表示这个参数是可选的)

list.index(x[, start[, end]]):返回列表中第一个值为 x 的元素的从零开始的索引。如果没有这样的元素将会抛出 ValueError 异常。可选参数 startend 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。

>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits.index('banana', 4)
6

>>> fruits.index('banana', 1, 5)
3

列表作为栈使用

要添加一个元素到堆栈的顶端,使用 append() 。要从堆栈顶部取出一个元素,使用 pop()

若要实现一个队列,可使用 collections.deque,使用列表的实现效率太低

Lambda 表达式

可以用 lambda 关键字来创建一个小的匿名函数。Lambda函数可以在需要函数对象的任何地方使用。它们在语法上限于单个表达式。从语义上来说,它们只是正常函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用所包含域的变量

del 语句

可以删除整个变量,再引用这个变量会报错

>>> a=3
>>> del a
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined