算法入门(一)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)
# 按成绩从高到低排序
相关推荐
小敬爱吃饭5 分钟前
知识图谱实战第一章:知识图谱全景解析其定义、技术演进与十大应用场景
人工智能·python·目标检测·自然语言处理·flask·nlp·知识图谱
m0_588758489 分钟前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python
陳錄生18 分钟前
Emacs 读sql server数据库(数据cp936)中文乱码问题。
python·emacs·sql server
沉默-_-19 分钟前
备战蓝桥杯-哈希
c++·学习·算法·蓝桥杯·哈希算法
TestCopilot22 分钟前
从零用 Python 实现最基础的MCP协议
python·mcp
拼好饭和她皆失24 分钟前
基础算法--写给算法小白的模板指南:快速掌握核心代码,蓝桥杯必备模板
算法
吞下星星的少年·-·24 分钟前
rotate函数应用模板
算法
zh15702324 分钟前
CSS如何让元素出现时带抖动_利用关键帧定义抖动动画
jvm·数据库·python
AI技术增长25 分钟前
Pytorch图像去噪实战(五):FFDNet可控图像去噪实战,用噪声强度图解决不同噪声等级问题
pytorch·python·深度学习