算法入门(一)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)
# 按成绩从高到低排序
相关推荐
汀、人工智能3 小时前
[特殊字符] 第21课:最长有效括号
数据结构·算法·数据库架构·图论·bfs·最长有效括号
花酒锄作田3 小时前
Postgres - Listen/Notify构建轻量级发布订阅系统
python·postgresql
Boop_wu3 小时前
[Java 算法] 字符串
linux·运维·服务器·数据结构·算法·leetcode
Thomas.Sir3 小时前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
故事和你913 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
m0_694845573 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
Fcy6484 小时前
算法基础详解(三)前缀和与差分算法
算法·前缀和·差分
kvo7f2JTy4 小时前
基于机器学习算法的web入侵检测系统设计与实现
前端·算法·机器学习
List<String> error_P4 小时前
蓝桥杯最后几天冲刺:暴力大法(一)
算法·职场和发展·蓝桥杯
李昊哲小课5 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl