01 - 快速入门:10分钟Python速览
想系统提升编程能力、查看更完整的学习路线,欢迎访问 AI Compass:https://github.com/tingaicompass/AI-Compass
仓库持续更新刷题题解、Python 基础和 AI 实战内容,适合想高效进阶的你。
01 - 快速入门:10分钟Python速览
学习目标: 通过一个完整的LeetCode解法,快速了解Python的核心语法
📖 知识点讲解
为什么选择Python?
Python是算法学习的最佳语言:
- ✅ 语法简洁: 相比Java/C++,代码量减少50%
- ✅ 内置强大: 字典、集合、列表推导式等开箱即用
- ✅ 调试友好: 动态类型,不用声明变量类型
- ✅ 面试首选: 大厂面试普遍允许用Python
Python的"哲学"
"简单优于复杂"
Python追求代码的可读性,所以语法设计得像英语一样自然:
if x in my_list: # 如果x在列表中
for item in items: # 对于items中的每个item
💻 代码示例
示例1:完整解法 - 两数之和(LeetCode 1)
我们用一个完整的LeetCode题目解法,来展示Python的核心语法:
def twoSum(nums, target):
"""
找出数组中两个数,使它们的和等于target
"""
# 创建一个空字典,用来存储已经见过的数
seen = {}
# 遍历数组,enumerate同时获取索引和值
for i, num in enumerate(nums):
# 计算需要配对的数
complement = target - num
# 检查配对数是否在字典中
if complement in seen:
# 找到答案,返回两个索引
return [seen[complement], i]
# 把当前数存入字典
seen[num] = i
# 如果没找到,返回空列表
return []
# 测试代码
nums = [2, 7, 11, 15]
target = 9
result = twoSum(nums, target)
print(f"输入: nums = {nums}, target = {target}")
print(f"输出: {result}") # [0, 1]
运行输出:
输入: nums = [2, 7, 11, 15], target = 9
输出: [0, 1]
语法标注版(逐行解释)
def twoSum(nums, target): # def定义函数,nums和target是参数
seen = {} # {}创建空字典(哈希表)
for i, num in enumerate(nums): # enumerate获取索引i和值num
complement = target - num # 简单的减法运算
if complement in seen: # in检查键是否在字典中
return [seen[complement], i] # []创建列表,return返回结果
seen[num] = i # 字典赋值:键是num,值是i
print(f"输出: {result}") # f-string格式化字符串输出
示例2:Python vs 其他语言
同样的逻辑,Python代码最简洁:
Java版本(需要15行):
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> seen = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
int complement = target - nums[i];
if (seen.containsKey(complement)) {
return new int[] { seen.get(complement), i };
}
seen.put(nums[i], i);
}
return new int[] {};
}
Python版本(只需8行):
def twoSum(nums, target):
seen = {}
for i, num in enumerate(nums):
if target - num in seen:
return [seen[target - num], i]
seen[num] = i
return []
示例3:核心语法速览
# 1. 变量赋值(不需要声明类型)
x = 10 # 整数
name = "Alice" # 字符串
is_valid = True # 布尔值
# 2. 列表(数组)
nums = [1, 2, 3, 4, 5]
print(nums[0]) # 访问第一个元素 → 1
print(nums[-1]) # 访问最后一个元素 → 5
# 3. 字典(哈希表)
scores = {"Alice": 90, "Bob": 85}
print(scores["Alice"]) # → 90
# 4. 控制流
if x > 5:
print("x大于5")
elif x == 5:
print("x等于5")
else:
print("x小于5")
# 5. 循环
for num in [1, 2, 3]:
print(num) # 依次打印1, 2, 3
# 6. 函数
def add(a, b):
return a + b
result = add(3, 5) # 8
🎯 在算法题中的应用
这些语法在107道题中无处不在:
| 语法 | 应用题目示例 | 频率 |
|---|---|---|
def 函数定义 |
所有题目 | 100% |
for 循环 |
所有需要遍历的题目 | 95% |
{} 字典 |
第1课:两数之和 第2课:字母异位词分组 |
80% |
[] 列表 |
所有需要存储结果的题目 | 90% |
if/else 条件判断 |
所有需要分支逻辑的题目 | 85% |
in 成员检测 |
第3课:最长连续序列 | 70% |
enumerate |
第1课:两数之和 | 60% |
实际代码片段
来自第1课:两数之和
for i, num in enumerate(nums): # ← enumerate同时获取索引和值
if target - num in seen: # ← in检查是否在字典中
return [seen[target - num], i] # ← return返回列表
来自第2课:字母异位词分组
groups = {} # ← 创建空字典
for word in strs: # ← for循环遍历
key = "".join(sorted(word)) # ← 字符串方法join和内置函数sorted
groups[key] = groups.get(key, []) + [word] # ← 字典的get方法
🏋️ 快速练习
练习1:修改代码
给定以下代码,修改它使其返回两个数的乘积而不是和:
def calculate(a, b):
return a + b
print(calculate(3, 4)) # 当前输出: 7
点击查看答案
def calculate(a, b):
return a * b # 改成乘法运算符
print(calculate(3, 4)) # 输出: 12
练习2:判断元素是否在列表中
完成以下代码,判断数字5是否在列表中:
nums = [1, 2, 3, 4, 5]
# 在这里写代码,判断5是否在nums中
点击查看答案
nums = [1, 2, 3, 4, 5]
# 方法1:使用in关键字(推荐)
if 5 in nums:
print("5在列表中")
# 方法2:遍历查找
found = False
for num in nums:
if num == 5:
found = True
break
if found:
print("5在列表中")
解释: Python的in关键字非常直观,就像英语一样!
练习3:创建并访问字典
创建一个字典存储水果价格,然后获取苹果的价格:
# 创建字典: 苹果5元, 香蕉3元, 橙子4元
# 获取苹果的价格并打印
点击查看答案
# 创建字典
prices = {"苹果": 5, "香蕉": 3, "橙子": 4}
# 获取苹果的价格
apple_price = prices["苹果"]
print(f"苹果的价格是: {apple_price}元") # 输出: 苹果的价格是: 5元
# 或者使用get方法(更安全,避免KeyError)
apple_price = prices.get("苹果", 0) # 如果不存在返回0
print(apple_price)
🎓 小结
通过这一课,你应该了解了:
✅ Python的核心优势: 简洁、直观、强大
✅ Python的基本语法: 变量、列表、字典、函数、循环、条件
✅ 如何读懂真实的算法题代码
下一步:
- 如果你想系统学习 → 继续02-变量与数据类型
- 如果你想直接开始刷题 → 跳到../001-two-sum/lesson.md
- 如果遇到不懂的语法 → 回到README查找索引
Happy Coding! 🚀
如果这篇内容对你有帮助,推荐收藏 AI Compass:https://github.com/tingaicompass/AI-Compass
更多系统化题解、编程基础和 AI 学习资料都在这里,后续复习和拓展会更省时间。

浙公网安备 33010602011771号