# 切片.取一个list或者tuple部分元素是非常常见的操作.比如, 一个list如下:
L = ['M', 'S', 'T', 'B', 'J']
# 取前3个一般的办法是[L[0], L[1], L[2]].这种吧办法很笨.如果要取前N个元素, N又很大
# 这样写要类死, 当然你可以用循环, 但这又增加的代码复杂度, 十分繁琐.切片操作符就是为了解决
# 这类问题, 提供了十分简洁的语法.
# 取前三个元素
top_three = L[0:3] # 表示从索引0开始取, 直到索引3结束, 不包括索引3.当然如果索引第一个是0, 还可以省略L[:3]
print(top_three)
# 我们知道L[-1]表示倒数第一个元素.
print(L[-2:]) #表示取倒数最后两个元素, 右边默认就表示最大的即L[-2:5]
# 取倒数第二个元素
print(L[-2:-1]) # 右边的始终表示最后一个的下一个.
# 前10个数, 每两个取一个
L = list(range(100))
L = L[:10:2]
print(L)
# 所有数
L = list(range(100))
print(L[:]) # L[0:100]
# 所有数, 没5个取一个
print(L[::5])
L = L[::5]
print(type(L)) # list的切片结果还是list
# tuple也是一种list,所以也可以做切片,其结果是tuple
# 字符串一个一看成是一种list, 每个元素是一个字符.所以字符串也可以做切片.
# 小结:
# 1.左边省略不写, 始终表示索引0.右边省略不写, 始终表示最后一个的下一个.
# 2.根据1, 原样复制一个list,可以写成L[:]
# 3 :5:6 ==> (0:5):2 取前五个数, 再这五个数中, 再每隔2个取一个.
# 4 字符串一个一看成是一种list, 每个元素是一个字符.所以字符串也可以做切片.
Python高级特性---Slice
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 取出一个list或者tuple的一部分,最笨的方法有: 取出前n个,也可以使用循环的方式: 不过,循环的方式过于复...
- slice 会让我们原本很复杂的操作的变得很简单已知: 1)获取 L的前50个数(一) L[0:5]表示从索引0开...
- 1. 递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我...
- 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成...