DAY4——Python 推导式及 常见语句和内置函数个人总结

Python 推导式

Python推导式是一种简洁的语法结构,用于快速生成列表、字典、集合或生成器。推导式通常比传统的循环更高效且更易读。常见的推导式包括列表推导式、字典推导式、集合推导式和生成器推导式。

列表推导式


语法:[expression for item in iterable if condition]
示例:

# 生成平方数列表
squares = [x**2 for x in range(10)]
print(squares)  # 输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares)  # 输出:[0, 4, 16, 36, 64]

字典推导式


语法:{key_expr: value_expr for item in iterable if condition}
示例:

# 生成数字到其平方的字典
square_dict = {x: x**2 for x in range(5)}
print(square_dict)  # 输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

# 带条件的字典推导式
even_square_dict = {x: x**2 for x in range(5) if x % 2 == 0}
print(even_square_dict)  # 输出:{0: 0, 2: 4, 4: 16}

集合推导式


语法:{expression for item in iterable if condition}
示例:

# 生成唯一平方数的集合
unique_squares = {x**2 for x in [1, 2, 2, 3, 4, 4, 5]}
print(unique_squares)  # 输出:{1, 4, 9, 16, 25}

# 带条件的集合推导式
even_unique_squares = {x**2 for x in range(10) if x % 2 == 0}
print(even_unique_squares)  # 输出:{0, 64, 4, 36, 16}
 

生成器推导式


语法:(expression for item in iterable if condition)
示例:

# 生成平方数的生成器
square_gen = (x**2 for x in range(5))
for num in square_gen:
    print(num)  # 输出:0, 1, 4, 9, 16

# 带条件的生成器推导式
even_square_gen = (x**2 for x in range(10) if x % 2 == 0)
for num in even_square_gen:
    print(num)  # 输出:0, 4, 16, 36, 64
 


Python 常见语句

条件语句

条件语句基础

Python中的条件语句用于根据条件执行不同的代码块,主要使用ifelifelse关键字。

基本语法
if condition1:
    # 条件1成立时执行
elif condition2:
    # 条件2成立时执行
else:
    # 其他情况执行

示例

x = 10
if x > 0:
    print("正数")
elif x < 0:
    print("负数")
else:
    print("零")

多重条件判断

通过逻辑运算符(andornot)组合多个条件。

示例

age = 25
if age >= 18 and age <= 60:
    print("成年人")

嵌套条件语句

条件语句可以嵌套使用,但需注意代码可读性。

示例

num = 15
if num % 2 == 0:
    if num % 3 == 0:
        print("能被2和3整除")
    else:
        print("能被2整除")
else:
    print("不能被2整除")

三元表达式

简化简单的条件判断,格式为:

value_if_true if condition else value_if_false

正确的,则返回前面;错误则返回后面

示例: 5大于0是正确的,所以打印”大于0“

x = 5
result = "大于0" if x > 0 else "小于等于0"
print(result)
数据验证示例
user_age = input("请输入年龄: ")
if user_age.isdigit():
    age = int(user_age)
    if age >= 18:
        print("允许访问")
    else:
        print("禁止访问")
else:
    print("输入无效")

循环语句

  • for 循环

for 循环用于遍历序列(如列表、元组、字符串)或其他可迭代对象

以下是 for 循环的基本语法:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

for 循环可以与 range() 函数结合使用:

for i in range(5):
    print(i)

for 循环还支持 else 子句,在循环正常结束时执行:

for i in range(3):
    print(i)
else:
    print("循环结束")

  • while 循环

while 循环用于在条件为真时重复执行代码块。

以下是 while 循环的基本语法:

count = 0  
while count < 3:  
    print(count)  
    count += 1  
#0,1,2

while 循环也可以与 else 子句结合使用,在循环条件变为假时执行:

count = 0
while count < 3:
    print(count)
    count += 1
else:
    print("循环结束")
#0 1 2 循环结束

循环控制语句

break用于退出整个循环

for i in range(10):
    if i == 5:
        break
    print(i)  # 0,1,2,3,4

continue 用于跳过当前迭代,进入下次循环

for i in range(5):
    if i == 3:
        continue
    print(i)   # 0,1,2,4

异常处理语句

try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")
finally:
    print("Execution complete")


Python 常用内置函数

  详细内置函数参考官方文档

→内置函数 — Python 3.12.10 文档←https://docs.python.org/zh-cn/3.12/library/functions.html

数据处理

  • len():返回对象长度。
  • range():生成整数序列。
  • sorted():返回排序后的列表。
  • filter(func, iterable):过滤满足条件的元素。
  • map(func, iterable):对可迭代对象应用函数。

类型转换

  • int(), float(), str():类型转换。
  • list(), tuple(), set():容器类型转换。

数学运算

  • abs()
  • sum()
  • max()
  • min()
  • round(number, ndigits):四舍五入。

输入输出

  • print():输出内容。
  • input():获取用户输入。

其他

  • enumerate():返回索引和值的迭代器。
enumerate(iterable, start=0)

  iterable:需要遍历的可迭代对象(如列表、字符串等)。

  start(可选):索引的起始值,默认为 0

示例:

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(index, fruit)

输出:

0 apple
1 banana
2 cherry

  • zip():将多个可迭代对象组合为元组迭代器。
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
zipped = zip(names, ages)
print(list(zipped))  # 输出:[('Alice', 25), ('Bob', 30), ('Charlie', 35)]
 

你可能感兴趣的:(DAY4——Python 推导式及 常见语句和内置函数个人总结)