Python开发 ——循环中的 `continue` 语句

1. 基本概念

        `continue` 语句用于跳过当前循环的剩余部分,直接进入下一次循环。这在某些情况下非常有用,比如当特定条件满足时,希望跳过某些操作。

2. 基本示例

for i in range(1, 11):
    if i % 3 == 0:
        continue
    print(i, end=' ')

        输出:

1 2 4 5 7 8 10

        在这个示例中,当 `i` 可以被 3 整除时,`continue` 语句跳过当前循环的剩余部分,进入下一次循环,因此不会打印 `3`, `6`, 和 `9`。

3. 在不同场景中的应用

3.1 跳过负数

        假设你有一个列表,其中包含正数和负数,你希望打印所有的正数。

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

for number in numbers:
    if number < 0:
        continue
    print(number, end=' ')

        输出:

2 4 6

3.2 跳过某些特定字符

        假设你有一个字符串,想要打印出除了某些特定字符以外的所有字符。

text = "Hello, World!"

for char in text:
    if char in ",!":
        continue
    print(char, end='')

        输出:

Hello World

3.3 跳过偶数

        假设你想打印1到10之间的奇数。

for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i, end=' ')

        输出:

1 3 5 7 9

4. 嵌套循环中的 `continue`

        在嵌套循环中,`continue` 语句只会影响它所在的那一层循环。

for i in range(1, 4):
    for j in range(1, 4):
        if j == 2:
            continue
        print(f"i = {i}, j = {j}")

        输出:

i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

        在这个示例中,当 `j` 等于 2 时,内层循环跳过当次循环,外层循环不受影响。

5. `continue` 结合其他条件

        你可以结合多个条件使用 `continue` 语句。例如,跳过所有负数和零的情况。

numbers = [-1, 0, 1, 2, -3, 3, 0, 4]

for number in numbers:
    if number <= 0:
        continue
    print(number, end=' ')

输出:

1 2 3 4

6. 更复杂的条件判断

6.1 结合多个条件

        假设你有一个数字列表,想要打印出所有的正数,且这些正数不是3的倍数。

numbers = [-10, -3, 0, 1, 2, 3, 4, 9, 12]

for number in numbers:
    if number <= 0 or number % 3 == 0:
        continue
    print(number, end=' ')

输出:

1 2 4

6.2 忽略特定字符的输入

        假设你在处理用户输入的字符串,并希望忽略所有的空白字符和标点符号,只保留字母和数字。

input_string = "Hello, World! 123"

for char in input_string:
    if char.isspace() or char in ",!":
        continue
    print(char, end='')

        输出:

HelloWorld123

7. 使用 `continue` 来优化算法

7.1 寻找质数

        在寻找质数的过程中,可以使用 `continue` 来跳过非质数的情况,从而提高效率。

for num in range(2, 20):
    for i in range(2, num):
        if num % i == 0:
            break
    else:
        print(num, end=' ')

输出:

2 3 5 7 11 13 17 19

7.2 跳过不需要处理的文件

        假设你在处理一批文件,需要跳过所有的临时文件(文件名以 `~` 开头)。

file_list = ["file1.txt", "~tempfile.txt", "file2.txt", "~backup.txt", "file3.txt"]

for file_name in file_list:
    if file_name.startswith("~"):
        continue
    print(f"Processing {file_name}")

        输出:

Processing file1.txt
Processing file2.txt
Processing file3.txt

8. 在生成器中使用 `continue`

        生成器在处理大量数据时非常有用,`continue` 可以用于跳过不需要的项。

def filter_numbers():
    for num in range(10):
        if num % 2 == 0:
            continue
        yield num

for number in filter_numbers():
    print(number, end=' ')

        输出:

1 3 5 7 9

9. 与 `try` 块结合使用

        在某些情况下,可能需要处理异常,并在发生特定异常时跳过当前循环。

data = ["123", "abc", "456", "def"]

for item in data:
    try:
        number = int(item)
    except ValueError:
        continue
    print(number, end=' ')

        输出:

123 456

10. 忽略特定条件的用户输入

        假设你有一个用户输入的列表,并希望忽略所有为空或仅包含空白字符的输入。

user_inputs = ["hello", " ", "", "world", "python", "   "]

for user_input in user_inputs:
    if not user_input.strip():
        continue
    print(user_input)

        输出:

hello
world
python

11. 在数据清洗中使用 `continue`

        在清洗数据时,常常需要跳过不符合条件的数据。

raw_data = ["John,25", "Doe,abc", "Jane,30", "Smith,"]

for entry in raw_data:
    parts = entry.split(',')
    if len(parts) != 2 or not parts[1].isdigit():
        continue
    name, age = parts
    print(f"Name: {name}, Age: {age}")

        输出:

Name: John, Age: 25
Name: Jane, Age: 30

        通过这些综合示例,你可以更好地理解和应用 `continue` 语句,以优化代码,提高程序的健壮性和可读性。

相关推荐

  1. Python开发 ——循环 `continue` 语句

    2024-07-11 20:20:02       21 阅读
  2. Python循环语句——continue和break

    2024-07-11 20:20:02       43 阅读
  3. Python--循环控制语句continue 和 break

    2024-07-11 20:20:02       19 阅读
  4. Python循环语句

    2024-07-11 20:20:02       41 阅读
  5. Python3 笔记:continue语句和break语句区别

    2024-07-11 20:20:02       28 阅读
  6. 在Go使用循环时使用Break和Continue语句

    2024-07-11 20:20:02       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 20:20:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 20:20:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 20:20:02       57 阅读
  4. Python语言-面向对象

    2024-07-11 20:20:02       68 阅读

热门阅读

  1. Spring的bean的生命周期——bean的创建与销毁

    2024-07-11 20:20:02       21 阅读
  2. Nginx Bla~Bla~

    2024-07-11 20:20:02       18 阅读
  3. A133 Android10 root修改

    2024-07-11 20:20:02       20 阅读
  4. 雅思词汇及发音积累 2024.7.11

    2024-07-11 20:20:02       18 阅读