列表的切片

语法:列表[:]、列表[::]        综合:列表[(开始索引b):(结束索引e)(:(步长s))]

返回:列表的切片取值时,返回一个列表,规则等同于字符串切片规则。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

说明:

  • 开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素,-1代表最后一个元素。
  • 结束索引是切片的终止索引(但不包含终止点)。
  • 步长是切片每次获取完当前元素后移动的方向和偏移量。没有步长,相当于取值完毕后右移动一个索引的位置(默认为1)。当步长为正整数时,取正向切片。当步长为负整数时,取反向切片。
  • 反向切片时,默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置。
  • 切记,列表切片返回的是一个新的列表。如果操作新列表,比如增加或删除元素,原来的列表不受影响。
arr = ['A', 'B', 'C', 'D'];
print(arr[0:3]);        # ['A', 'B', 'C']
print(arr[1:4]);        # ['B', 'C', 'D']
print(arr[:2]);         # ['A', 'B']
print(arr[2:]);         # ['C', 'D']
print(arr[:-2]);        # ['A', 'B']
print(arr[-2:]);        # ['C', 'D']
print(arr[-2::-1]);     # ['C', 'B', 'A']

列表转字符串

arr = ['15', '20', '30']
sss = ','.join(arr) 
print sss      # "15,20,30"

sql = ','.join(["'%s'" % item for item in arr])
print sql      # "'15','20','30'"

sql = 'select * from tb_user where ip in (%s)' % ','.join(['%s'] * len(arr))   
print sql      # select * from tb_user where ip in (%s,%s,%s)

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄