列表 list
深拷贝和浅拷贝
- 浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程
- 优点:占用内存较少
- 缺点:深层数据被修改,互相影响.
- 适用性:优先
- 深拷贝:复制整个依懒的变量
- 优点:绝对互不影响
- 缺点:占用内存较多
- 适用性:当深层数据需要被修改时
列表与字符串转换
列表转换为字符串
# result = "连接符".join(列表)
list01 = ["a", "b", "c"]
result = "-".join(list01)
print(result)
字符串转换为列表
# 列表 = “a-b-c-d”.split("分隔符")
# 使用一个字符串存储多个信息
list_result = "唐僧,孙悟空,八戒".split(",")
print(list_result)
列表推导式
使用简易方法,将可迭代对象转换为列表
- 变量 = [表达式 for 变量 in 可迭代对象]
- 变量 = [表达式 for 变量 in 可迭代对象 if 条件]
# 如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃
list01 = [9, 15, 65, 6, 78, 89]
# 需求:在list01中挑出能被3整除的数字存入list02
# list02 = []
# for item in list01:
# if item % 3 == 0:
# list02.append(item)
list02 = [item for item in list01 if item % 3 == 0]
print(list02)
# 需求:在list01中所有数字的个位存储list03
# list03 = []
# for item in list01:
# list03.append(item % 10)
list03 = [item % 10 for item in list01]
print(list03)
列表推导式嵌套
- 变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in可迭代对象2]
#result = []
#for r in ["a", "b", "c"]:
# for c in ["A", "B", "C"]:
# result.append(r + c)
result = [r + c for r in list01 for c in list02]
列表操作函数
- L.index(v [, begin[, end]]) : 返回对应元素的索引下标, begin 为开始索引,end 为结束索引, 当 value 不存在时触发 ValueError 错误
- L.count(x) : 用于统计某个元素在列表中出现的次数
- L.pop([index]) : 删除索引对应的元素,如果不加索引,默认删除最后元素,同时返回删除元素的 引用关系
- L.insert(index, obj) : 将某个元素插放到列表中指定的位置
- L.extend(lst) : 向列表追加另一个列表
- L.remove(x) : 从列表中删除第一次出现在列表中的值
- L.clear() : 清空列表,等同于
L[:] = []
- L.sort(reverse=False) : 将列表中的元素进行排序,默认顺序按值的小到大的顺序排列
- L.reverse() : 列表的反转,用来改变原列表的先后顺序
- L.copy() : 复制此列表(只复制一层,不会复制深层对象)
最后一次更新于2022-10-12 14:27
0 条评论