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
异常。可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 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