列表内存图
插入是从最后元素开始以此向后移动
删除是从下一个元素依次向前覆盖
list02=list01 是将第一个列表的地址赋值给第二给列表,不会产生一个新的内存地址。
list02=list01[:] 是将第一个列表浅复制给第二个列表,在产生一个新的内存地址。
list02[0:1]=“金毛狮王” 替换切片内的元素,右边的内容遍历到左边的切边内。
列表嵌套列表修改元素
列表浅拷贝
列表深拷贝
深拷贝和浅拷贝
浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。
深拷贝:复制整个依懒的变量。
深拷贝
优点:对其中之一的修改,绝对不影响另外一个.
缺点: 比较占用内存 准备深拷贝的工具 import copy
import copy
list01 = [
[1,2,3],
[4,5,6]
]
ist02 =list01[:]
# 深拷贝列表
list02 = copy.deepcopy(list01)
list01[0] = "一"
list01[1][0] = "二"
print(list02)#
列表VS字符串
-
列表和字符串都是序列,元素之间有先后顺序关系。
-
字符串是不可变的序列,列表是可变的序列。
-
字符串中每个元素只能存储字符,而列表可以存储任意类型。
-
列表和字符串都是可迭代对象。
-
函数:
将多个字符串拼接为一个。
result = “连接符”.join(列表)
将一个字符串拆分为多个。
列表 = “a-b-c-d”.split(“分隔符”)
- 列表转字符串
"""
list --> str
练习:exercise07
"""
# 根据某些逻辑,拼接字符串.
list01 = ["3", "4", "5", "7"]
# str_result = ""
# for item in list01:
# # 每次循环,每次拼接,每次创建新对象
# str_result = str_result + item
# print(str_result)
str_result = "——".join(list01)
print(str_result)
- 字符串转列表