算法入门(一)Python基础(list、dict、set、tuple、for、enumerate、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)
# 按成绩从高到低排序
相关推荐
m0_7196408711 分钟前
2026年适合课题研究的具身智能实验室建设方案有哪些可参考?
经验分享·算法
LMT流氓兔20 分钟前
第五单元——第9课:防止同一次操作重复执行
java·服务器·数据库·算法·ai·langchain
zhangdaliangmvp28 分钟前
快速排序的学习理解:从基础分治到三路划分优化
c++·学习·算法
乐迪信息35 分钟前
AI算法盒子船体烟火检测:港口火灾早预警
人工智能·深度学习·算法
lisw051 小时前
发酵算法两大应用方向解析
算法·数学建模
动词ing2 小时前
【题目练习】全排列
算法
易小尊2 小时前
Dixon-Coles 的 τ 函数,我写错了三次
算法
伤心的梧桐叶2 小时前
Picset与创客贴比等待时间,没做完的任务不能从表里消失
python
没有气的汽水2 小时前
一次 SQS 消费者静默退出的排查:问题最后竟然出在日志里
python
用户450030140232 小时前
物业催缴系统为什么总在"冷却"这一步翻车:账期建模与规则命中的几个取舍
python