python切片

取出str或者list或者tuple中的部分元素,在Python中是常见的一种操作。比如:

一个str 

s = 'HELLO WORLD'
print(s[0]) # 取出第一个元素
print(s[1]) # 取出第二个元素
print(s[0],s[1],s[2]) # 取出前三个元素

如果要取出第 2 到第N个元素,可以使用以下方法

s = 'ABCDEFGHIGK'
n = 6
for i in range(1,n):
    if i < n:
        print(s[i],end = '')
    else:
        print(s[i])

取第二个元素,下标为 1 ,到N个元素,但是,如果不知道字符串或者list的长度,取最后一个元素,就困难了。

Python提供了切片,对于以上的操作,代码就简单的多。

下面代码列出了切片的简单用法,以字符串为例,同样适用于list以及tuple

s = 'ABCDEFGHIJK'
print(s[0:])  # 取字符串完成长度
print(s[:])  # 取字符串完成长度   s[:] 和 s[0:] 效果一样
print(s[0:5])  # 取字符串下标为 0 到 下标为 4 的 5 个元素  字符串下标从 0 开始
print(s[:5])  # s[0:5] 和 s[:5] 执行效果一样
print(s[1:5])  # 取字符串下标为 0 到 下标为 4 的 4 个元素  字符串下标从 0 开始

print(s[-1]) # 取出字符串中的最后一个元素 最后一个从-1 开始,依次类推,倒数第二个 -2 表示
print(s[-2])

# 间隔一定步长,取指定元素
print(s[0:7:2]) # 从下标 0 开始,到下标 6 每隔一个元素,取出一个元素

print(s[4::-1]) # 从下标为4 到下标为 0 的元素,到着取
print(s[-1::-2]) # 从最后一个元素开始取,每隔1隔元素 取出一个
原文地址:https://www.cnblogs.com/hongyu0518/p/9642215.html