Python基础(七),七下基础答案
Python基础(七),七下基础答案
今日主要内容
- 基础数据类型补充
- 循环删除问题
- 二次编码
一、基础数据类型补充
(一)int
(二)str
str.capitalize()
首字母大写,其余小写
str.title()
每个用特殊字符隔开的首字母大写
str.index()
计算元素索引位置
str.find()
计算元素索引位置
str.center()
将字符串居中
str.format()
格式化输出
str.swapcase()
大小写转换
(三)list
list.reverse()
将列表反向排列
list.sort()
将列表排序
面试题:
lst = [1, 2, [3]]
lst1 = lst * 2
lst1[2].append(4)
print(lst1) # [1, 2, [3, 4], 1, 2, [3, 4]]
- 列表在使用乘法时,将列表所有元素乘以倍数放到一个新列表中,所以相同元素的内存地址相同,元素共用
(四)dict
(五)类型转换
(六)基础数据类型总结
(一)int
(二)str
str.capitalize() 首字母大写,其余小写 str.title() 每个用特殊字符隔开的首字母大写 str.index() 计算元素索引位置 str.find() 计算元素索引位置 str.center() 将字符串居中 str.format() 格式化输出 str.swapcase() 大小写转换
(三)list
list.reverse() 将列表反向排列 list.sort() 将列表排序
面试题:
lst = [1, 2, [3]] lst1 = lst * 2 lst1[2].append(4) print(lst1) # [1, 2, [3, 4], 1, 2, [3, 4]]
- 列表在使用乘法时,将列表所有元素乘以倍数放到一个新列表中,所以相同元素的内存地址相同,元素共用
(四)dict
(五)类型转换
(六)基础数据类型总结
是否有序 | 是否可变 | 可否迭代 | 查看方式 | |
---|---|---|---|---|
int | 有序(不支持索引) | 不可变 | 不可迭代 | 直接查看 |
bool | 不可变 | 不可迭代 | 直接查看 | |
str | 有序 | 不可变 | 可迭代 | 索引查看 |
tuple | 有序 | 不可变 | 可迭代 | 索引查看 |
list | 有序 | 可变 | 可迭代 | 索引查看 |
dict | 无序 | 可变 | 可迭代 | 通过键查看 |
set | 无序 | 可变 | 可迭代 | 直接查看 |
二、循环删除问题
(一)列表
尝试一下利用循环列表删除元素,清空列表
lst = [1, 2, 3, 4, 5]
for el in lst:
lst.remove(el)
print(lst) # [2, 4]
- 发现列表并没有被清空,这是为什么呢?
(二)字典
尝试一下利用循环字典删除键值对,清空字典
dic = {"k1": 1, "k2": 2, "k3": 3}
for i in dic:
dic.pop(i)
print(dic)
# RuntimeError: dictionary changed size during iteration
- 报错:迭代期间字典长度改变
解决方法:
- 复制一个副本,循环副本删除原字典
dic = {"k1": 1, "k2": 2, "k3": 3}
dic1 = dic.copy()
for k in dic1:
dic.pop(k)
print(dic) # {}
(三)集合
尝试一下利用循环集合删除元素,清空集合
st = {1, 2, 3, 4, 5}
for el in st:
st.remove(el)
print(st)
# RuntimeError: Set changed size during iteration
- 报错:迭代期间集合改变长度
解决方法:
- 复制一个副本,循环副本删除原集合
st = {1, 2, 3, 4, 5}
st1 = st.copy()
for el in st1:
st.remove(el)
print(st) # set()
三、二次编码
(一)编码回顾
(二)编码与解码
- Python3内存中使用的就是uncode
- 硬盘中存储时选择的编码方式
- gbk
- utf-8
- 用什么编码就要用什么解码
尝试一下利用循环列表删除元素,清空列表
lst = [1, 2, 3, 4, 5]
for el in lst:
lst.remove(el)
print(lst) # [2, 4]
- 发现列表并没有被清空,这是为什么呢?
尝试一下利用循环字典删除键值对,清空字典
dic = {"k1": 1, "k2": 2, "k3": 3}
for i in dic:
dic.pop(i)
print(dic)
# RuntimeError: dictionary changed size during iteration
- 报错:迭代期间字典长度改变
解决方法:
- 复制一个副本,循环副本删除原字典
dic = {"k1": 1, "k2": 2, "k3": 3}
dic1 = dic.copy()
for k in dic1:
dic.pop(k)
print(dic) # {}
尝试一下利用循环集合删除元素,清空集合
st = {1, 2, 3, 4, 5}
for el in st:
st.remove(el)
print(st)
# RuntimeError: Set changed size during iteration
- 报错:迭代期间集合改变长度
解决方法:
- 复制一个副本,循环副本删除原集合
st = {1, 2, 3, 4, 5}
st1 = st.copy()
for el in st1:
st.remove(el)
print(st) # set()
(一)编码回顾
(二)编码与解码
- Python3内存中使用的就是uncode
- 硬盘中存储时选择的编码方式
- gbk
- utf-8
- 用什么编码就要用什么解码
相关内容
- 暂无相关文章
评论关闭