python复习
一.类型转换
# 自动向上转换
x = 10 + 5.5 # int + float → float
y = True + 1 # bool + int → int (True=1) 当bool类型与int类型进行计算时会自动将True转化为1(int型),False转为0(int)
强制类型转换
强制类型转换int() # 转换为整数
float() # 转换为浮点数
str() # 转换为字符串
bool() # 转换为布尔值
list() # 转换为列表
tuple() # 转换为元组
dict() # 转换为字典
set() # 转换为集合int("10") # 10
int("10.5") # ValueError
float("10.5") # 10.5
#解释:0转换成False,没元素如""或[]转换成False,有元素转换成True如:[0]
bool(0) # False
bool("") # False
bool([]) # False
bool([0]) # True
二.字符串
s1 = '单引号'
s2 = "双引号"
s3 = '''三引号可以
跨越多行'''
s4 = r"原始字符串\n不转义"
#经常用r" "
切片
s = "Python"
# 正向索引:0 1 2 3 4 5
# 反向索引:-6 -5 -4 -3 -2 -1
print(s[::-1]) # 'nohtyP' 反转
字符串常用方法:
# 查找与替换
s.find('子串') # 返回索引,不存在返回-1
s.index('子串') # 返回索引,不存在报错
s.replace('旧','新') # 替换
s.count('子串') # 统计出现次数# 分割与连接
s.split('分隔符') # 分割为列表
'分隔符'.join(列表) # 连接为字符串# 大小写转换
#并不改变s,但是可以输出s.upper() 等
s.upper() # 转大写
s.lower() # 转小写
s.title() # 每个的单词首字母大写# 去除空白
s.strip() # 去除两端空白
s.lstrip() # 去除左端空白
s.rstrip() # 去除右端空白# 判断
s.startswith('前缀')
s.endswith('后缀')
s.isalpha() # 是否全字母
s.isdigit() # 是否全数字
s.isalnum() # 是否字母或数字
字符串里的join与split方法
#split
#指定最大分割数
s = "1,2,3,4,5"
result = s.split(",", 2) # 最多分割2次
print(result) # 输出:['1', '2', '3,4,5']result = s.split(",", 0) # 分割0次,返回原字符串的列表
print(result) # 输出:['1,2,3,4,5']#join
lst = ["apple", "banana", "orange"]
# 用逗号+空格连接
result = ", ".join(lst)
print(result) # 输出:apple, banana, orange# 用空字符串连接(无分隔符)
result = "".join(lst)
print(result) # 输出:applebananaorange
在python里的f" "与r" "不一样
f" "表示格式化字符串,动态嵌入
r" "常用与地址因为可以用于抑制转义字符
一、f"" (f-string):专门用于字符串格式化
1. 核心作用
2. 语法与示例
3. 核心特点
二、r"" (raw 字符串):抑制转义字符
1. 核心作用
2. 语法与示例
3. 核心特点
列表:
(1)列表的基本操作
lst = [1, 2, 3, 4, 5]# 增
lst.append(6) # 末尾添加->[1, 2, 3, 4, 5, 6]
lst.insert(2, 2.5) # 指定位置插入[1, 2, 2.5, 3, 4, 5, 6]
lst.extend([7, 8]) # 扩展列表,末尾添加两个元素7和8-->[1, 2, 2.5, 3, 4, 5, 6, 7,8 ]# 删
lst.remove(3) # 删除第一个匹配值
lst.pop() # 删除末尾元素并返回
lst.pop(2) # 删除指定位置元素
del lst[0] # 删除指定位置元素
lst.clear() # 清空列表# 改
lst[0] = 0 # 修改指定位置# 查
x = lst[0] # 索引访问
index = lst.index(2) # 查找元素索引
count = lst.count(2) # 统计元素出现次数# 其他
lst.copy() # 浅拷贝
lst.reverse() # 反转列表(原地)
lst.sort() # 排序(原地)
sorted(lst) # 返回新排序列表
列表推导式

返回
[
[0,0,0],
[0,0,0],
[0,0,0]
]
字典
d1 = {} # 空字典
d2 = {'a': 1, 'b': 2} # 直接创建
d3 = dict(a=1, b=2) # dict函数
d4 = dict([('a',1),('b',2)]) # 键值对列表
d5 = dict.fromkeys(['a','b'], 0) # 相同默认值
d6 = {x: x**2 for x in range(5)} # 字典推导式
#空字典用{}而空集合需要用set()
(1)字典遍历
d = {'a': 1, 'b': 2, 'c': 3}# 遍历键
for i in d:print(i, d[i])# 遍历键值对
for key, value in d.items():print(key, value)"""
对于in 字典名会遍历字典里所有键
对于in 字典名.items()会遍历所有字典的key,value"""
(2)
from collections import defaultdictd = defaultdict(int) # 默认值为0,值的类型是int。
d['a'] += 1 # 不需要先判断键是否存在
print(d)
d2 = defaultdict(list) # 默认值为[],值的类型是list
d2['key'].append(1)
print(d2)

(3)
d = {1: 'a', 2: 'b', 3: 'c'}
print(d.get(4, 'd'))#查询get方法,查不到返回d,如果有key为4的返回对应value
print(2 in d)
print(list(d.keys()))