算法入门(一)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)
# 按成绩从高到低排序
相关推荐
Omics Pro2 小时前
预测性虚拟细胞中显式机理算子
大数据·数据库·人工智能·python·算法·机器学习·自然语言处理
驭渊的小故事2 小时前
算法实战:滑动窗口、素数枚举与字符串模拟(三道经典题解)
java·算法
秋名RG2 小时前
Java历代LTS版本新特性详解(代码增强版)
java·开发语言·python
牢姐与蒯2 小时前
位运算及其oj题
c++·算法
27669582922 小时前
youdao/有道翻译APP 算法协议分析
开发语言·前端·python·sign·youdao·有道翻译app算法·有道app协议请求
夏天拐跑了西瓜10 小时前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
魔猴疯猿11 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习
小蒋学算法11 小时前
算法-交替删除操作后最后剩下的整数-跟着灵茶山艾府学算法
数据结构·算法
荆棘鸟智能12 小时前
林业遥感长势评估怎么做?从NDVI时序分析到LiDAR蓄积量回归
人工智能·算法·智慧林业
xiaoqi019512 小时前
机器学习因子分析实战:从量化特征到可视化决策
人工智能·python·机器学习