Python—数据类型之列表(List)

列表的切片

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

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

说明:

  • 开始索引是切片切下的位置,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']

判断一个对象是否为列表,可以使用isinstance方法

arry = [1, 2, 3]

print(isinstance(arry, list))   # 如果是列表,返回True,否则返回False
print("{0} is {1}".format(arry, isinstance(arry, list)))

列表转字符串

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)

  

posted @ 2019-12-23 15:13  刘_love_田  阅读(471)  评论(0编辑  收藏  举报