python03-列表
今天听了老师讲的列表录播课,里面好多不太熟悉的,现在把老师讲的内容粘贴到这里,以供以后查看。
一、以下是列表的基本用法
# 1. 创建列表
# 空
list01 = []
list01 = list()
# 默认值
list02 = ["悟空", 100, True]
list02 = list("我是齐天大圣")
# 2. 获取元素
# 索引
print(list02[2]) # 齐
# 切片 注意:获取切片时,会重新再建一个列表,浅复制
print(list02[-4:]) # ['齐', '天', '大', '圣']
# 3. 添加元素
# 追加(在末尾添加)
list02.append("八戒")
# 插入(在指定位置添加)
list02.insert(1, True) # 在索引为1(第二个)的位置添加True
# 4. 删除元素
# 根据元素删除,删除后,后面的元素会以此向前移
list02.remove("是")
# 根据位置删除
del list02[0]
print(list02)
# 5.定义元素,目的:可以增删改查元素。
# 切片
del list02[1:3]
print(list02)
# [True, '大', '圣', '八戒']
# [True, 'a', 'b', '八戒']
list02[1:3] = ["a", "b"]
# [True,'八戒']
# list02[1:3] = []
print(list02)
# 遍历列表
# 获取列表中所有元素
for item in list02:
print(item)
# 倒序获取所有元素
# 不建议
# list02[::-1] 通过切片拿元素,会重新创建新列表.
# for item in list02[::-1]:
# print(item)
# 3 2 1 0
for i in range(len(list02) - 1, -1, -1):
print(list02[i])
# -1 -2 -3 -4
for i in range(-1, -len(list02) - 1, -1):
print(list02[i])
二、列表内存图
第一种:
list01 = ["张无忌","赵敏"] list02 = list01 # 修改的是列表第一个元素 list01[0] = "无忌" print(list02[0]) #答案是“无忌”
对应的 内存图如下:
第二种:
list01 = ["张无忌", "赵敏"] list02 = list01 # 修改的是list01变量 list01 = ["无忌"] print(list02[0]) # 张无忌

第三种:
list01 = [800, 1000] # 通过切片获取元素,会创建新列表. list02 = list01[:] list01[0] = 900 print(list02[0]) # ?800 list01 = [500] print(list02[0]) # ?800

第四种:
# 列表套列表
list01 = [800, [1000, 500]]
list02 = list01
list01[1][0] = 900
print(list02[1][0]) # ?900

第五种:
list01 = [800, [1000, 500]]
# 浅拷贝
# list02 = list01[:]
list02 = list01.copy()
list01[1][0] = 900
print(list02[1][0]) # ?900
第六种:
import copy
list01 = [800, [1000, 500]]
# 深拷贝
list02 = copy.deepcopy(list01)
list01[1][0] = 900
print(list02[1][0]) # ?1000
![]()
三列表转字符串
# 需求:根据xx逻辑,拼接一个字符串.
# "0123456789"
# 缺点:每次循环形成(+=)一个新的字符串对象,替换变量引用result。
# result = ""
# for item in range(10):
# #""
# #"0"
# #"01"
# #"012"
# result = result + str(item)
# 优点:每次循环只向列表添加字符串,没有创建列表对象。
list_temp = []
for item in range(10):
list_temp.append(str(item))
# join : list --> str
result = " ".join(list_temp)
print(type(result))
print(result)
四 字符串转列表
""" str --> list 练习:exercise08.py """ str01 = "张无忌-赵敏-周芷若" list_result = str01.split("-") print(list_result)
五for循环内存图



浙公网安备 33010602011771号