前言时刻

学习了列表的增删改查,复习了很多遗忘的知识,花了一上午也算没白学。

总结一波,

学了list列表:

增append、insert、extend;删:del、pop、remove;改:直接复制修改;查:索引,切片(步长)

学习了range:类似列表,不过可以自由定长。

1、列表 list

列表相当于是C++中的队列,不过列表可以存放任意的数据类型,这个特性就很 nice 了,使得列表是 Python 中最常用的功能。

1.1、创建列表

创建较为简单,重要的是掌握列表的增删改查用法

  1. l2 = [1, 2, [3, 4]]
  2. l3 = list("name")
  3. print(l3) # ['n', 'a', 'm', 'e']

1.2、增

1、append追加元素:

  1. l2 = [1, [3, 4]]
  2. # 1、append追加元素
  3. l2.append(0) # [1, [3, 4], 0]
  4. print(l2)
  5. l2.append([5, 6]) # [1, [3, 4], 0, [5, 6]]
  6. print(l2)

2、extend 迭代追加元素

  1. l3 = [1, [3, 4]]
  2. # 1、extend 迭代追加元素
  3. l3.extend([7, 8]) # [1, [3, 4], 7, 8]
  4. print(l3)
  5. # 2、插入字符串迭代对象
  6. l3.extend("name") # [1, [3, 4], 7, 8, 'n', 'a', 'm', 'e']
  7. print(l3)

3、insert 按索引插入

l2.insert(index, con) 按照列表索引序号插入元素

  1. # 3、insert 按位置插入元素
  2. l4.insert(1, 666) # [1, 666, [3, 4]]
  3. l4.insert(2, [5, 6, 7]) # [1, 666, [5, 6, 7], [3, 4]]

1.3、删

1、pop 删除索引

list.pop(index) 按照索引删除,若不添加参数则默认删除最后一位。

pop函数例子:

  1. l2 = [1, 2, [3, 4]]
  2. # 1、pop按照索引删除
  3. res = l2.pop(1) # [1, [3, 4]] 返回删除索引对应的值
  4. print(res) # 2

2、remove 按照值删除

list.remove(ele) 按照值删除。

remove函数例子:

  1. l2 = [1, 2, [3, 4]]
  2. # 2、按照值删除
  3. l2.remove(1) # [2, [3, 4]]
  4. print(l2)

3、del 索引

del list[i:j:step] 按照索引删 可切片+步长。

del函数例子:

  1. l2 = [1, 2, [3, 4], 5, 6, 7]
  2. # 3、重点 del 按照索引删 可切片+步长
  3. del l2[0]
  4. print(l2) # [2, [3, 4], 5, 6, 7]
  5. del l2[-3:-1] # [2, [3, 4], 7]
  6. l2 = [1, 2, [3, 4], 5, 6, 7]
  7. del l2[0:4:2] # [2, 5, 6, 7]

1.4 改

这个就很简单了,直接赋值修改即可。

  1. l2 = [1, 2, [3, 4]]
  2. # 2、查询+直接赋值
  3. l2[0] = 666 # [666, 2, [3, 4]]
  4. l2[-1].append(5) # [666, 2, [3, 4, 5]]
  5. # 3、切片修改
  6. l2 = [1, 2, [3, 4], 7, 8]
  7. l2[-2: -1] = "name" # [1, 2, [3, 4], 'n', 'a', 'm', 'e', 8]

1.5、查

这里最重要的是列表的嵌套查询,包括上面的改其实也是建立在查的基础上。

  1. l2 = [1, 2, [3, 4], 5, 7, 8]
  2. print(l2[2][0]) # 3
  3. # 2、切片+步长
  4. print(l2[0:-1:2]) # [1, [3, 4], 7]

2、元组 tuple

元组也没啥好说的,用的也不多,最终要的特性是可哈希,内部元素不允许改变,如:增加元素、删除元素。但也不是绝对的,如果成员是 list 该成员也是可以增删的。

元组查询的列表的用法一样

  1. tup = (1, 2, [3, 4, 5])
  2. print(tup)
  3. # 修改内部元素
  4. tup[-1].append(6) # (1, 2, [3, 4, 5, 6])

3、range 用法

range(start, stop[, step])

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

range例子:

  1. >>> range(0, 5)
  2. [0, 1, 2, 3, 4]
  3. # 步长
  4. >>> range(0, 6, 2)
  5. [0, 2, 4]
  6. # 一般配合 for 迭代使用
  7. for i in range(3, 0, -1):
  8. print(i)
  9. 3
  10. 2
  11. 1

总结:

今天学习的列表很重要,尤其是增删改查重点掌握,好了,今天就到这了,继续加油吧!

参考链接:

https://www.runoob.com/python/python-func-range.html

https://www.zwjjiaozhu.top/2021/02/c-map-create-erase-insert-update.html