一、类型转换

  1、适用对象:可以用for循环遍历的类型都可以用list()功能转化为列表,即把每次循环取得的值作为元素组成一个列表。

a = 'abc'
print(list(a))  # 结果为 ['a', 'b', 'c']
b = {'aa': 1, 'bb': 2, 'cc': 3}
print(list(b))  # 因为每次循环取的是key值,所以结果为 ['aa', 'bb', 'cc']

二、内置功能

  1、按索引取值,可以正向取也可以反向取,也可以改该值。若索引不存在,则取值或修改操作都会报错。

a = [1,2,'c']
print(a[0])  # 按索引取值有返回值,结果为 1
a[-1] = 'cc'  # 反向索引并重新赋值
print(a)  # 结果为 [1, 2, 'cc']
a[4] = 4  # 4号索引不存在,报错

  2、切片:理同字符串,相当于拷贝列表,但是为浅拷贝。

a = [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(a[1:4])  # 从1号索引切到3号索引,结果为 [1, 2, 3]
print(a[:])  # 不填参数则默认从头到尾,相当于完整拷贝原列表,结果为 [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(a[2:9:3])  # 从2号索引切到9号索引,间隔为3,结果为 [2, 5, 8]
print(a[::])  # 步长参数不填默认为1,结果为 [0, 1, 2, 3, 4, 5, 6, 7, 8]
print(a[-3:0:-2])  # 倒数第三个索引到1号索引,间隔为2,结果为 [6, 4, 2]
print(a[::-1])  # 反向切片,步长不可省略,头尾可不填,则默认从尾到头,此处即把列表完整倒过来了,结果为 [8, 7, 6, 5, 4, 3, 2, 1, 0]

  3、长度len:统计列表中元素个数。理同字符串。

print(len([1, 2, 3, 4, 5]))  # 结果为 5

  4、成员运算in和not in:检索某元素是否在列表中。

a = [1, 2, 3]
print(2 in a)  # 结果为 True
print(4 not in a)  # 结果为 True

  5、追加值append:新加的值会加在列表最后。

a = [1, 2, 3]
a.append(4)
print(a)  # 结果为 [1, 2, 3, 4]

  6、插入值insert:先声明一个索引,新加的值会插在该索引前一个位置。

a = [1, 2, 3]
a.insert(1,'x')
print(a)  # 结果为 [1, 'x', 2, 3]

  7、在列表尾部添加多个元素extend:添加的对象必须为多个元素的类型,若为字典,则添加的是key。

a = [1, 2, 3]
a.extend([4, 5])
print(a)  # 结果为 [1, 2, 3, 4, 5]
a.extend({'x': 66, 'y': 77})
print(a)  # 结果为 [1, 2, 3, 4, 5, 'x', 'y']

  8、删除相关操作:

    ①通用方式del:是系统功能,并非列表的内置功能,无法产生值,只有完成删除这个状态。

a = [1, 2, 3]
print(del a[0])  # 报错

    ②移出pop:将列表某元素按索引从列表中移出来,会返回该值。

a = [1, 2, 3, 4, 5]
print(a.pop())  # 不指定索引,默认为最后一位,结果为 5
print(a.pop(1))  # 移除1号索引值,结果为 2
print(a)  # 原列表剩余元素,结果为 [1, 3, 4]

    ③移除remove:声明某一值,在列表中按顺序检索,移除第一个检索到的为该值的元素,没有返回值。

a = ['a','b','c','a']
a.remove('a')
print(a)  # 结果为 ['b', 'c', 'a']

    ④全部清除clear:将列表中元素全部清除,操作后原列表为空列表,没有返回值。

a = [1, 2, 3]
a.clear()
print(a)  # 结果为[]

  9、计数count:声明某一值,统计出列表中为该值的元素的数量。

a = ['a', 'b', 'c', 'a', 'a']
print(a.count('a'))  # 结果为 3

  10、查找index:声明某一值,将检索到的第一个元素所在位置的索引号返回。

a = ['b','c','a', 'b', 'c', 'a', 'a']
print(a.index('a'))  # 结果为 2
print(a.index('aa'))  #  找不到会报错

  11、倒置reverse:将列表倒过来。

a = [1, 2, 3]
a.reverse()
print(a)  # 结果为 [3, 2, 1]

  12、排序sort:元素为相同类型才可以排序,同为数字,同为字符串,同为列表等等。

    ①数字:升序或降序。

a = [2, 3, 1]
a.sort()  # 不填参数则为升序排列
print(a)  # 结果为 [1, 2, 3]
b = [2, 3, 1]
b.sort(reverse=True)  # 使用参数reverse,实现降序排列
print(b)  # 结果为[3, 2, 1]

    ②字符串:按照ASCII码表的先后顺序区分大小。以字母为例,拍的前面的字母ASCII码比排在后面的小。两个字符串比较是从左到右依次取单个字符比较,一旦有结果,不再关注后面字符。

print('azzzzzz'<'b')  # 结果为True

    ③列表:理同字符串,但是互相比较的两元素类型必须相同,否则报错。

a = ['azzzzz', 'b', 'c']
b = ['d', 'b', 'c']
c = [1, 'b', 'c']
print(a < b)  # 结果为 True
print(a < c)  # 报错

 

posted on 2020-01-02 14:01  焚音留香  阅读(382)  评论(0编辑  收藏  举报