学习第五天
一.画出下列代码的内存图
1.
list01 = [1,2] # 将列表地址赋值给list02 list02 = list01 # 改变的是列表的第一个元素 list01[0] = 100 print(list02[0])# 100

2.
list01 = [1,2] # 将列表地址赋值给list02 list02 = list01 # 改变的是列表的第一个元素 list01 = [100] print(list02[0])# 1

3.
list01 = [1,2] # 将列表中元素复制一份 # list02 = list01[:] # 将列表中元素复制一份 list02 = list01.copy() list01[0] = 100 print(list02[0])# 1

4.
list01 = [1,[2,3]] # 将列表中元素复制一份(只拷贝1层) list02 = list01.copy() # 浅拷贝 list01[1][0] = 200 print(list02[1][0]) # ?200

5.
import copy list01 = [1,[2,3]] # 将列表中元素复制一份(只拷贝1层) # list02 = list01.深拷贝() list02 = copy.deepcopy(list01) # 深拷贝 list01[1][0] = 200 print(list02[1][0]) # ?2

二 .列表推导式
list01 = [3,5,6,7,9] # 需求:创建新列表,每个元素是list01中的元素的平方 list02 = [] for item in list01: list02.append(item ** 2) print(list02) # 语法:[对变量的操作 for 变量名 in 可迭代对象] list03 = [item ** 2 for item in list01]
list01 = [3,5,6,7,9] # 需求:创建新列表,如果元素是偶数,则将每个元素的元素的平方存入新列表 list02 = [] for item in list01: if item % 2 == 0: list02.append(item ** 2) list03 = [item ** 2 for item in list01 if item % 2 == 0] print(list03)
三 .元组
1.如何创建元组
# 1. 创建空元组 t01 = () t02 = tuple() # 2. 创建具有默认值的元组 t01 = (1,2,3) t01 = tuple("abcd") t01 = (1,2,[4,5]) print(t01)
2,.元组的修改
t01 = (1,2,[4,5]) t01[2] = 100 元组元素不能修改 t01[2][0] = 100 # 修改的是元素第三个元素(列表)的元素.
3.元组的获取
# 3. 获取元素(索引 / 切片) print(t01[:2]) # 获取元组所有元素 for item in t01: print(item) # 倒序获取元组所有元素 for i in range(len(t01)-1, -1,-1): print(t01[i])
4.元组和列表在同类型相加时的区别
t02 = ("a","b") l02 = ["a","b"] t03 = t02 l03 = l02 t02 += ("c","d") # 创建了新元组对象,改变了t02存储的地址. l02 += ["c","d"] # 将["c","d"]追加到原列表中. print(t02) # ('a', 'b', 'c', 'd') print(t03) # ('a', 'b') print(l03) # ['a', 'b', 'c', 'd']
5元组需要注意的
# 如果元组只有一个元素,必须多写一个逗号,否则视为普通对象也就是整数1,不是元组对象. t04 = (1,) print(t04)
三 .字典
1、创建字典
# 创建空字典 d01 = {} d02 = dict() d01 = {"a":"A","b":"B"} # d01 = dict("ab") # 分不清key value d01 = dict([(1,2),(3,4)]) # {1: 2, 3: 4}
2.字典的如何增加元素
# 运行第一次则是增加 d01["c"] = "C" # 运行第二次就变成修改,字典的key就有唯一性 d01["c"] = "CC"
3.读取字典元素
读取元素(如果不存在则异常) # 建议:在字典中读取元素,先判断存在,在进行读取. if "d" in d01: print(d01["d"])
4.删除字典的元素
# 删除 del d01["c"] print(d01)
5.获取字典的所有元素
# 获取字典中所有元素: for key in d01: print(key) print(d01[key]) # 获取字典中所有记录(元组) for item in d01.items(): print(item[0]) # key print(item[1]) # value for k,v in d01.items(): print(k) # key print(v) # value # 获取所有键 for k in d01.keys(): print(k) # 获取所有值 for v in d01.values(): print(v)
6.字典的推导式
# key:数字 value:数字平方 # dic01 = {} # for item in range(1,10): # dic01[item] = item ** 2 # # print(dic01) # # dic01 = {item:item ** 2 for item in range(1,10)} dic01 = {} for item in range(1, 10): if item % 2 == 0: dic01[item] = item ** 2 dic01 = {item: item ** 2 for item in range(1, 10) if item % 2 == 0} print(dic01)

浙公网安备 33010602011771号