经常用到的Python遍历与if语句的组合应用。

Python遍历与if语句的


在Python编程中,遍历(如`for`循环)与`if`语句的组合是非常常见且强大的工具。它们可以用于处理各种数据结构(如列表、字典、集合等),并对数据进行筛选、分类、统计等操作。以下从多个角度详细说明它们的组合应用:




1. 遍历列表并筛选元素

- 场景:从一个列表中筛选出满足特定条件的元素。

- 示例:从一个数字列表中筛选出所有大于10的数。


```python

numbers = [5, 12, 8, 17, 3]

result = []

for num in numbers:

if num > 10:

result.append(num)

print(result) # 输出:[12, 17]

```


---


2. 遍历字典并筛选键或值

- 场景:从字典中筛选出满足条件的键或值。

- 示例:从一个学生分数字典中筛选出分数大于90的学生。


```python

scores = {'Alice': 85, 'Bob': 92, 'Charlie': 88, 'David': 95}

high_scorers = []

for name, score in scores.items():

if score > 90:

high_scorers.append(name)

print(high_scorers) # 输出:['Bob', 'David']

```


---


3. 遍历集合并检查元素

- 场景:遍历集合中的每个元素,并根据条件进行操作。

- 示例:检查一个集合中的元素是否为偶数。


```python

numbers = {1, 2, 3, 4, 5}

even_numbers = set()

for num in numbers:

if num % 2 == 0:

even_numbers.add(num)

print(even_numbers) # 输出:{2, 4}

```


---


4. 遍历字符串并统计字符

- 场景:遍历字符串中的每个字符,并根据条件进行统计或操作。

- 示例:统计一个字符串中元音字母的数量。


```python

s = "Hello World"

vowels = {'a', 'e', 'i', 'o', 'u'}

count = 0

for char in s.lower():

if char in vowels:

count += 1

print(f"元音字母数量:{count}") # 输出:3

```


---


5. 遍历文件并筛选内容

- 场景:读取文件内容并根据条件筛选或处理。

- 示例:读取日志文件,筛选出包含错误信息的行。


```python

with open('log.txt', 'r') as file:

for line in file:

if 'ERROR' in line:

print(line.strip())

```


---


6. 遍历多维数据结构

- 场景:遍历嵌套的数据结构(如二维列表)并进行条件判断。

- 示例:从一个二维列表中筛选出所有大于10的数。


```python

matrix = [

[5, 12, 8],

[17, 3, 20],

[2, 15, 7]

]

result = []

for row in matrix:

for num in row:

if num > 10:

result.append(num)

print(result) # 输出:[12, 17, 20, 15]

```


---


7. 结合`else`子句进行操作

- 场景:在满足条件时执行某段代码,否则执行另一段代码。

- 示例:遍历一个列表,打印每个数是否为偶数。


```python

numbers = [1, 2, 3, 4, 5]

for num in numbers:

if num % 2 == 0:

print(f"{num} 是偶数")

else:

print(f"{num} 是奇数")

```


---


8. 复杂条件判断

- 场景:使用多个条件(如`and`、`or`)进行更复杂的筛选。

- 示例:从一个学生信息列表中筛选出年龄大于18岁且性别为女性的学生。


```python

students = [

{'name': 'Alice', 'age': 19, 'gender': 'F'},

{'name': 'Bob', 'age': 17, 'gender': 'M'},

{'name': 'Charlie', 'age': 20, 'gender': 'M'},

{'name': 'Diana', 'age': 18, 'gender': 'F'}

]

eligible_students = []

for student in students:

if student['age'] > 18 and student['gender'] == 'F':

eligible_students.append(student['name'])

print(eligible_students) # 输出:['Alice']

```


---


9. 结合异常处理

- 场景:在遍历过程中处理可能出现的异常情况。

- 示例:遍历一个包含不同数据类型的列表,只处理整数。


```python

data = [1, 'a', 3, 'b', 5]

valid_numbers = []

for item in data:

try:

if isinstance(item, int):

valid_numbers.append(item)

except TypeError:

pass

print(valid_numbers) # 输出:[1, 3, 5]

```


---


10. 优化与性能

- 场景:在大数据量下优化遍历与条件判断的效率。

- 示例:使用生成器表达式代替显式的循环和条件判断。


```python

numbers = [5, 12, 8, 17, 3]

result = [num for num in numbers if num > 10]

print(result) # 输出:[12, 17]

```


---


总结

Python中的遍历与`if`语句的组合应用非常灵活,几乎可以处理所有需要条件判断和数据筛选的任务。通过结合不同的数据结构、复杂条件、异常处理等方法,可以实现高效且功能强大的代码。希望以上示例能够帮助你更好地理解和应用这一组合!

相关文章

Python 内联 If 语句使用指南

Python 的内联 if 语句(也称为三元运算符)允许您在一行中编写条件表达式。让我们探索如何有效地使用它们,以及何时它们会使您的代码变得更好。基本内联 If 语法下面是基本模式:# Standar...

Python程序员必看3分钟掌握if语句10个神技,第5个99%的人不知道

同事因为写错一个if被开除?全网疯传的Python避坑指南,看完我连夜改了代码!一、新手必踩的3大天坑(附救命代码)技巧1:缩进踩坑事件if True: print("这样写必报错!") # 缺...

12-Python语法01-if语句

1-if语句1-1-概念if 语句用于基于特定条件执行代码块。它允许程序根据不同的条件做出决策,从而实现逻辑控制。这是编程中最基本的控制结构之一,广泛应用于各种场景中1-2-特点灵活性:可以根据一个或...

Python条件判断全解析:从if到elif的实战应用

在Python编程中,条件判断是构建程序逻辑的基础骨架。就像人生中的每个选择都会影响后续发展,程序中不同的条件分支也决定着代码的执行路径。本文将带您深入掌握单分支与多分支结构的奥秘,通过实战案例演示如...

用好Python中的if条件控制语句,让程序做出准确判断

用好Python中的if条件控制语句,让程序做出准确判断Python中常用的条件控制语句是if语句,它可以通过一条或者多条语句的执行结果来决定执行的代码块,具体执行过程如下图所示。if语句执行过程图下...

自学Python第十二天——if语句

在Python中,if语句能够检查程序的当前状态,并据此采取相应的措施。1、简单示例2、条件测试每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试,如果条件测试的值为...