🧩 Python 日常开发与数据处理笔记
一、基础数据结构
1. list(列表)
arr = [3, 1, 2]
# 添加元素
arr.append(4)
# 删除元素
arr.remove(1)
# 排序(升序)
arr.sort()
# 排序(降序)
arr.sort(reverse=True)
# 遍历
for x in arr:
print(x)
# 带索引遍历
for i, x in enumerate(arr):
print(i, x)
2. dict(字典)
d = {}
# 添加 / 修改
d["a"] = 1
# 获取值(不存在返回默认值)
value = d.get("a", 0)
# 判断key是否存在
if "a" in d:
print("存在")
# 遍历
for k, v in d.items():
print(k, v)
3. set(集合)
arr = [1, 2, 2, 3]
# 去重
unique = set(arr)
# 转回list
unique_list = list(unique)
4. tuple(元组)
t = (1, 2, 3)
# 元组不可修改
# t[0] = 10 # 会报错
二、字符串处理
s = "hello world"
# 分割
parts = s.split(" ")
# 替换
s = s.replace("hello", "hi")
# 统计
count = s.count("l")
# 反转
rev = s[::-1]
# 判断是否回文
is_palindrome = (s == s[::-1])
三、常用内置函数
arr = [3, 1, 2]
# 最大值 / 最小值
max_val = max(arr)
min_val = min(arr)
# 求和
total = sum(arr)
# 长度
n = len(arr)
# 排序(返回新列表)
sorted_arr = sorted(arr)
# 枚举
for i, x in enumerate(arr):
pass
# 范围循环
for i in range(5):
pass
四、lambda 与排序
arr = [(1, 3), (2, 1), (3, 2)]
# 按第二个元素排序
arr.sort(key=lambda x: x[1])
五、JSON处理
import json
data = '[{"name": "a", "age": 20}]'
# 转为Python对象
obj = json.loads(data)
# 转回字符串
json_str = json.dumps(obj)
六、文件读写
# 读取文件
with open("a.txt", "r") as f:
content = f.read()
# 写入文件
with open("b.txt", "w") as f:
f.write("hello")
七、常见数据处理模板
1. 计数统计
arr = [1, 2, 2, 3]
count = {}
for x in arr:
count[x] = count.get(x, 0) + 1 # 不存在默认0
2. 找出现最多的元素
max_key = max(count, key=count.get)
3. 分组统计
data = [ {"type": "A", "value": 10}, {"type": "A", "value": 20}, {"type": "B", "value": 5}]
result = {}
for item in data:
t = item["type"]
if t not in result:
result[t] = {"sum": 0, "count": 0}
result[t]["sum"] += item["value"]
result[t]["count"] += 1
4. 排序(对象)
data.sort(key=lambda x: x["value"], reverse=True)
八、示例场景(数据处理)
示例1:字符统计
s = "aabbbcc"
count = {}
for c in s:
count[c] = count.get(c, 0) + 1
print(count)
示例2:去重 + 排序
arr = [3, 1, 2, 3]
arr = list(set(arr))
arr.sort()
print(arr)
示例3:简单数据聚合
data = [
{"user": "A", "amount": 100},
{"user": "A", "amount": 50},
{"user": "B", "amount": 200}
]
total = {}
for d in data:
u = d["user"]
total[u] = total.get(u, 0) + d["amount"]
print(total)
九、小结
在日常开发中,大部分数据处理问题都可以通过:
- list(遍历)
- dict(统计)
- sort(排序)
来完成。
常见思路:
遍历 → 统计 → 排序 → 输出