[py]str list切片-去除字符串首尾空格-递归思想

取出arr的前几项

#方法1
print([arr[0], arr[1]])
#方法2
arr2 = []
for i in range(2):
    arr2.append(arr[i])
print(arr2)

#方法3 -切片
print(arr[:2])

切片操作

参考

可以操作序列,如str list

  • 取出最后一项
  • 取出第一项
  • 取出前10项 s[:10]
  • 取出后10项 s[-10:]
  • 删除首项 s[1:]
  • 删除最后一项 s[:-1]
## 第一波
arr = [0, 1, 2, 3, 4]

#返回最后一项
print(arr[-1])

#返回返回倒数第二项 不包含 arr[-1]
print(arr[-2:-1])


## 第二波
print(range(10))
print(list(range(10)))
arr = list(range(100))
#返回前10项
print(arr[:10])
#返回后10项
print(arr[-10:])

#返回10-20项
print(arr[10:20])
# 前十项,隔2个取一个
print(arr[:10:2])
#复制一个
arr2 = arr[:]


#删除第一项
print(arr[1:])

#删除最后一项
print(arr[:-1])

实战切片 去除字符串首尾空格

思路1: 去除字符串首尾空格

## 去除字符串首尾空格
def trim(s):
    # 找出首部位置
    for i in range(len(s)):
        if s[i] != ' ':
            start = i
            break
    # 找出尾巴空格位
    for i in range(len(s)):
        if s[-i] != ' ':
            end = len(s) + 1
            break
    # 取出非空
    print(s[start:end])


trim('  mao   ')

思路2: 去除字符串首尾空格 -函数的递归

## 3种情况
# 首项为空
# 尾项为空
# 字符串为空

def trim(s):
    #如果s为空
    if s == '':
        return ''
    else:
        # 如果s[0]为空,则抛弃
        if s[0] == ' ':
            return trim(s[1:])

        # 如果s[-1]为空,则抛弃
        elif s[-1] == ' ':
            return trim(s[:-1])
        else:
            return s


s = trim(' s a   ')
print(s)
原文地址:https://www.cnblogs.com/iiiiiher/p/8328340.html