scvmm 发表于 2018-8-10 06:06:17

Python学习笔记__3.1章 切片

  # 这是学习廖雪峰老师python教程的学习笔记
  第3章学习Python的高级特性
  python的高级特性帮助我们更简洁的写代码
  切片可以帮助我们快速的从 list,tuple,str中取出自己想要的部分
  list 和 tuple 的索引是从0开始的
  L = list(range(10))
  L# 取前三个元素,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2。包前不包后
  L[:3] # 取出前3个数
  L[:10:2]# 前10个数,每两个取一个(即步长为2)
  L[::5]# 所有数,每5个取一个(即步长为5)
  L[:] # 原样复制一个list
  #也可以倒着取,倒数第一个元素的索引是-1,也是包前不包后
  L[-1]      # 取出最后一个元素,格式为 int
  L[-2:]   # 取出最后两个元素,格式为list
  L[:-1]   # 不显示最后一个元素
  L[-2:-1] # 取出倒数第二个元素,格式为List
  L[::-1]# 倒序排列元素,步长为-1,即
  L[::-2]# 倒序排列元素,步长为-2,即
  # 字符串的操作
  >>>'ABCDEFG'[:3]
  'ABC'
  >>>'ABCDEFG'[::2]
  'ACEG'
  取字符串建议只用切片,不用下标,在脚本里,有时用下标取值会报错
  2、例题
  利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
  # -*- coding: utf-8 -*-
  deftrim(s):
  方法一:
  if s =="":
  s=s
  elif s[-1]==" ":
  s=s[:-1]
  return trim(s)
  elif s==" ":
  s=s
  return trim(s)
  return s
  方法二:(这里只能用切片取值,用索引如s,会报错)
  while s[:1] == ' ':   #如果字符串第一个是空格,删除第一个
  s = s
  while s[-1:] == ' ':#如果字符串最后一个是空格,删除最后一个
  s = s[:-1]
  return s
页: [1]
查看完整版本: Python学习笔记__3.1章 切片