文章目录
-
- 简介
- [list (列表)](#list (列表))
- [dict (字典)](#dict (字典))
- [set (集合)](#set (集合))
- tuple(元组)
- [for (循环)](#for (循环))
- enumerate
- [lambda (简写函数)](#lambda (简写函数))
- sorted(排序)
- 练习
简介
本人前端准备转算法,正在学习路上,跟大家一起分享下学习历程,第一步学好python的基础,为后面的学习打下根基。没有太华丽的词语,全是干货。
list (列表)
python
nums = [1, 2, 3, 4]
names = ["张三", "李四", "王五"]
有顺序、可修改、可重复
取值 print(nums[0]) # 10
增加 nums.append(40) # [10,20,30,40]
删除 nums.pop() # 删除最后一个
nums.remove(20) # 删除指定值
修改 nums[0] = 100
python
AI里怎么用?
loss_list = [0.9, 0.7, 0.5, 0.3]
dict (字典)
python
key → value(键值对)
person = {
"name": "张三",
"age": 18
}
取值 print(person["name"])
新增 / 修改 person["age"] = 20 person["gender"] = "男"
遍历
for k, v in person.items():
print(k, v)
python
AI里怎么用?
result = {
"cat": 0.8,
"dog": 0.2
}
set (集合)
python
去重神器
nums = [1,1,2,2,3]
nums = list(set(nums))
无序、不重复
tuple(元组)
python
不能改的 list
t = (1, 2, 3)
不可修改(只读)
防止数据被改
python
图像尺寸不会乱改
shape = (224, 224)
for (循环)
python
nums = [1, 2, 3]
for n in nums:
print(n)
enumerate
python
拿到 索引 + 值
nums = [10, 20, 30]
for i, val in enumerate(nums):
print(i, val)
python
AI常用
for i, (img, label) in enumerate(dataloader):
pass
lambda (简写函数)
python
普通函数写法
def add(x):
return x + 1
f = lambda x: x + 1
print(f(5)) # 6
sorted(排序)
python
nums = [3, 1, 2]
print(sorted(nums)) # [1,2,3]
练习
python
# 有一组数据
data = [5, 3, 9, 1, 7]
# 1 排序
# 2 打印索引 + 值
# 3 过滤出大于5的数
data = [5, 3, 9, 1, 7]
# 1 排序
sorted_data = sorted(data)
print("排序后的数据:", sorted_data)
# 2 打印索引 + 值
for index, value in enumerate(sorted_data):
print(f"索引: {index}, 值: {value}")
# 3 过滤出大于5的数
print("大于5的数:")
for index, value in enumerate(sorted_data):
if value > 5:
print(f"索引: {index}, 值: {value}")
进阶列表推导式
filtered = sorted([x for x in data if x > 5])
print(filtered)
for x in data → 遍历原列表 data
if x > 5 → 只取大于 5 的元素
x → 表达式就是原值,也可以做计算,比如 x*2
python
students = [
{"name":"张三", "score":80},
{"name":"李四", "score":90},
{"name":"王五", "score":70}
]
sorted(students, key=lambda x: x["score"], reverse=True)
# 按成绩从高到低排序