对list进行切片
对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。
1. L = [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]取前三个元素
索引包括0,但是不包括3。索引如果是0,则可以省略。只用一个 : ,表示从头到尾
L = ['Adam', 'Lisa', 'Bart', 'Paul']
print L[0:3]
切片操作还可以指定第三个参数:第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
2. range()函数可以创建一个数列:
range(1, 101)
[1, 2, 3, …, 100]
请利用切片,取出:
- 前10个数;
- 3的倍数;
- 不大于50的5的倍数。
L = range(1, 101)
print L[:10]
print L[2::3]
print L[4:51:5]
3. 倒序切片
利用倒序切片对 1 - 100 的数列取出:
- 最后10个数;
- 最后10个5的倍数。
L = range(1, 101)
print L[-10:]
print L[-46::5]
对字符串切片
4. 字符串有个方法 upper() 可以把字符变成大写字母:
‘abc’.upper()
‘ABC’
但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。
def firstCharUpper(s):
return s[0].upper() + s[1:]
print firstCharUpper('abc')