Day9:
1.
使用递归函数需要注意防止栈溢出
。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。
2.对list进行切片:
(1).L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
>>> L[:3]
['Adam', 'Lisa', 'Bart']
也可以从索引1开始,取出2个元素出来:
>>> L[1:3]
['Lisa', 'Bart']
只用一个
:
,表示从头到尾(
L[:]实际上复制出了一个新list
):
>>> L[:]
['Adam', 'Lisa', 'Bart', 'Paul']
(2).
切片操作还可以指定第三个参数:
>>> L[::2]
['Adam', 'Bart']
第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
(3).对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片
3.
字符串有个方法 upper() 可以把字符变成大写字母
>>> 'abc'.upper()
'ABC'