1、列表的左切片、右切片以及中间切片
切左切右切中间
除了使用索引来访问单个元素之外,还可以使用切片来访问指定范围内的元素
访问第2,3,4三个元素:
word = ['a','b','c','d','e','f'] print(word[1:4])
打印结果:['b', 'c', 'd']
冒号前为开始切的索引,冒号后为结束的索引,但是不包含这个结束位置的元素。
如果你没有指定开始索引,那么切片将从0开始
打印前3个元素:
word = ['a','b','c','d','e','f'] print(word[:3])
打印结果:['a', 'b', 'c']
同样的如果没有指定结束索引,那么切片将切到列表最后
打印第4个元素到最后:
word = ['a','b','c','d','e','f'] print(word[3:])
打印结果:['d', 'e', 'f']
也可以使用负数
打印最后三个元素
word = ['a','b','c','d','e','f'] print(word[-3:])
打印结果:['d', 'e', 'f']
切整个列表
切整个列表实际上得到的内容就是列表本身,一般是复制列表的时候会这么做。
word = ['a','b','c','d','e','f'] word2 = word[:] print(word2)
打印结果:['a', 'b', 'c', 'd', 'e', 'f']
带着步长切
切片默认的步长为1,所以切片范围是包含了所有元素,然而我们可以显式的指定步长。
从3到15,每3个元素切一个:
nums = list(range(0,20)) print(nums[3:16:3])
打印结果:[3, 6, 9, 12, 15]
切全部,每2个切一个元素:
word = ['a','b','c','d','e','f'] print(word[::2])
打印结果:['a', 'c', 'e']
切全部,每2个切一个元素,倒着切:
word = ['a','b','c','d','e','f'] print(word[::-2])
打印结果:['f', 'd', 'b']
步长可以为负数,但是不能为0,步长为0就没法移动了。
2、列表的加法以及乘法计算
加法
两列表相加,其实就是两列表拼接,在上文讲合并列表的时候已经有提过。
list1 = ['a','b','c'] list2 = ['d','e','f'] print(list1 + list2)
打印结果:['a', 'b', 'c', 'd', 'e', 'f']
两列表相加等于两列表拼接,两字符串相加等于两字符串拼接,但是字符串是不能和列表相加的。
乘法
将列表与一个整数x相乘,将返回一个原列表重复x次的新列表(如果x=0,那么将返回空列表)。
list1 = ['a','b','c'] print(list1 * 3)
打印结果:['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
字符串也可以这么玩:
name = 'abc' print(name * 3)
打印结果:abcabcabc
想了解更多python知识,请观看Python新手教程(Corey Schafer)视频!!