列表

序列

  • python中的数据结构(数据储存方式),用于保存一组有序数据,所有数据在序列中都有唯一位置,并且序列中的数据会按照添加顺序来分配索引

  • 可变序列(序列中的元素可以改变):例如 列表(list)字典(dict)

    不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)

列表

  • 列表:python中的一个对象
  • 作用:
    • 保存多个有序数据
    • 是用来储存对象的对象
  • 列表的创建:通过[]来创建一个空列表
  • list()转换列表

切片

  • 从现有列表中获得子列表

  • 切片可以获得指定元素

  • 语法: 列表[起始 : 结束 : 步长]

  • 备注:左闭右开

1
2
3
4
a = [1,2,3,4,5]
print(a[0:2])

[1, 2]
  • 通过切片来修改(起始就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
  • 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
1
2
3
4
a = [1,2,3,4,5,6,7,8,9,10,11]
print(a[0:9:2])

[1, 3, 5, 7, 9]
  • 通过切片来删除元素

  • del list[起始 : 结束]

    1
    2
    3
    4
    5
    a = [1,2,3,4,5,6,7,8,9]
    del a[0:7:2]
    print(a)

    [2, 4, 6, 8, 9]

列表的方法

增加方法:

  • append()列表最后添加一个元素
1
2
3
4
5
a = [1,2,3,4,5,6,7,8,9,10,11]
a.append(12)
print(a)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  • extend()序列最后添加一个新的序列
1
2
3
4
5
6
a = [1,2,3,4]
b = [5,6,7]
a.extend(b)
print(a)

[1, 2, 3, 4, 5, 6, 7]
  • insert()指定位置插入
1
2
3
4
5
a = [1,2,3,4,5,6,7]
a.insert(2,8)
print(a)

[1, 2, 8, 3, 4, 5, 6, 7]

删除方法

  • pop()删除索引对应的值
1
2
3
4
5
6
7
a = [1,2,3,4,5,6,7]
b = a.pop(2)
print(b)
print(a)

3
[1, 2, 4, 5, 6, 7]
  • remove()删除值
1
2
3
4
5
a = [1,2,3,4,5,6,7]
a.remove(2)
print(a)

[1, 3, 4, 5, 6, 7]
  • 清空列表
1
2
3
4
5
a = [1,2,3,4,5,6,7]
a.clear()
print(a)

[]

排序方法

  • reverser()反转列表
1
2
3
4
5
a = [1,2,3,4,5,6,7]
a.reverse()
print(a)

[7, 6, 5, 4, 3, 2, 1]
  • sort()排序列表
1
2
3
4
5
a = list('uiqwahbdjknzsg')
a.sort()
print(a)

['a', 'b', 'd', 'g', 'h', 'i', 'j', 'k', 'n', 'q', 's', 'u', 'w', 'z']
  • sorted() 把排序好的列表赋给新的列表
1
2
3
4
5
6
7
a = list('uiqwahbdjknzsg')
b = sorted(a)
print(a)
print(b)

['u', 'i', 'q', 'w', 'a', 'h', 'b', 'd', 'j', 'k', 'n', 'z', 's', 'g']
['a', 'b', 'd', 'g', 'h', 'i', 'j', 'k', 'n', 'q', 's', 'u', 'w', 'z']