前言时刻
学习了列表的增删改查,复习了很多遗忘的知识,花了一上午也算没白学。
总结一波,
学了list列表:
增append、insert、extend;删:del、pop、remove;改:直接复制修改;查:索引,切片(步长)
学习了range:类似列表,不过可以自由定长。
1、列表 list
列表相当于是C++中的队列,不过列表可以存放任意的数据类型,这个特性就很 nice 了,使得列表是 Python 中最常用的功能。
1.1、创建列表
创建较为简单,重要的是掌握列表的增删改查用法。
l2 = [1, 2, [3, 4]]
l3 = list("name")
print(l3) # ['n', 'a', 'm', 'e']
1.2、增
1、append追加元素:
l2 = [1, [3, 4]]
# 1、append追加元素
l2.append(0) # [1, [3, 4], 0]
print(l2)
l2.append([5, 6]) # [1, [3, 4], 0, [5, 6]]
print(l2)
2、extend 迭代追加元素
l3 = [1, [3, 4]]
# 1、extend 迭代追加元素
l3.extend([7, 8]) # [1, [3, 4], 7, 8]
print(l3)
# 2、插入字符串迭代对象
l3.extend("name") # [1, [3, 4], 7, 8, 'n', 'a', 'm', 'e']
print(l3)
3、insert 按索引插入
l2.insert(index, con)
按照列表索引序号插入元素
# 3、insert 按位置插入元素
l4.insert(1, 666) # [1, 666, [3, 4]]
l4.insert(2, [5, 6, 7]) # [1, 666, [5, 6, 7], [3, 4]]
1.3、删
1、pop 删除索引
list.pop(index)
按照索引删除,若不添加参数则默认删除最后一位。
pop函数例子:
l2 = [1, 2, [3, 4]]
# 1、pop按照索引删除
res = l2.pop(1) # [1, [3, 4]] 返回删除索引对应的值
print(res) # 2
2、remove 按照值删除
list.remove(ele)
按照值删除。
remove函数例子:
l2 = [1, 2, [3, 4]]
# 2、按照值删除
l2.remove(1) # [2, [3, 4]]
print(l2)
3、del 索引
del list[i:j:step]
按照索引删 可切片+步长。
del函数例子:
l2 = [1, 2, [3, 4], 5, 6, 7]
# 3、重点 del 按照索引删 可切片+步长
del l2[0]
print(l2) # [2, [3, 4], 5, 6, 7]
del l2[-3:-1] # [2, [3, 4], 7]
l2 = [1, 2, [3, 4], 5, 6, 7]
del l2[0:4:2] # [2, 5, 6, 7]
1.4 改
这个就很简单了,直接赋值修改即可。
l2 = [1, 2, [3, 4]]
# 2、查询+直接赋值
l2[0] = 666 # [666, 2, [3, 4]]
l2[-1].append(5) # [666, 2, [3, 4, 5]]
# 3、切片修改
l2 = [1, 2, [3, 4], 7, 8]
l2[-2: -1] = "name" # [1, 2, [3, 4], 'n', 'a', 'm', 'e', 8]
1.5、查
这里最重要的是列表的嵌套查询,包括上面的改其实也是建立在查的基础上。
l2 = [1, 2, [3, 4], 5, 7, 8]
print(l2[2][0]) # 3
# 2、切片+步长
print(l2[0:-1:2]) # [1, [3, 4], 7]
2、元组 tuple
元组也没啥好说的,用的也不多,最终要的特性是可哈希,内部元素不允许改变,如:增加元素、删除元素。但也不是绝对的,如果成员是 list 该成员也是可以增删的。
元组查询的列表的用法一样
tup = (1, 2, [3, 4, 5])
print(tup)
# 修改内部元素
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例子:
>>> range(0, 5)
[0, 1, 2, 3, 4]
# 步长
>>> range(0, 6, 2)
[0, 2, 4]
# 一般配合 for 迭代使用
for i in range(3, 0, -1):
print(i)
3
2
1
总结:
今天学习的列表很重要,尤其是增删改查重点掌握,好了,今天就到这了,继续加油吧!
参考链接:
https://www.runoob.com/python/python-func-range.html
https://www.zwjjiaozhu.top/2021/02/c-map-create-erase-insert-update.html