Python 中的一行中的 for 循环

Muhammad Waiz Khan 2023年1月30日
  1. Python 中的简单一行 for 循环
  2. 在 Python 中使用单行 for 循环进行列表推导
  3. 在 Python 中使用 if ... else 语句使用单行 for 循环进行列表推导
Python 中的一行中的 for 循环

本教程将介绍在 Python 中实现一行 for 循环的各种方法。在 Python 中,一行 for 循环有多种形式;一个简单的 for 循环可以遍历可迭代对象或序列。另一个可以是简单的列表推导,也可以是带有 if ... else 语句的列表推导。

Python 中的简单一行 for 循环

简单的单行 for 循环就是 for 循环,它循环遍历一个序列或一个可迭代的对象。因此,我们可以将可迭代对象与 for 循环或 range() 函数一起使用。可迭代对象可以是列表,数组,集合或字典。

下面的示例代码演示了如何实现一行 for 循环来迭代 Python 的可迭代对象。

myset = {"a", "b", "c", "d", "e", "f", "g"}
mydict = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7}

for x in myset:
    print(x)

for key, val in mydict.items():
    print(key, val)

range(start, stop, step) 函数返回一个序列,该序列从 start 值开始,以 stop 值结束,步长等于 step

下面的示例代码演示了如何使用 range() 函数在 Python 中实现一行 for 循环。

for x in range(1, 99):
    # do something

在 Python 中使用单行 for 循环进行列表推导

列表推导是一种以多种编程语言(包括 Python)从现有列表创建新列表的语法方法。我们可以对列表的每个元素应用任何操作,并使用简单的列表推导来创建新列表。

下面的示例代码演示了如何在 Python 中使用单行 for 循环来实现列表推导。下面的代码通过采用现有列表中每个元素的平方来创建一个新列表。

mylist = [6, 2, 8, 3, 1]

newlist = [x ** 2 for x in mylist]
print(newlist)

输出:

[36, 4, 64, 9, 1]

在 Python 中使用 if ... else 语句使用单行 for 循环进行列表推导

带有 if ... else 语句的列表推导用于对现有列表的某些特定元素应用操作以创建新列表,或从现有列表中过滤元素以创建新列表。

下面的示例代码演示了如何使用 for 循环在 Python 中使用 if 语句和 if...else 语句来实现列表推导。

下面的示例代码如果是奇数,则将元素添加到新列表中,如果是偶数,则将其丢弃。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x for x in mylist if x % 2 == 1]
print(newlist)

输出:

[1, 5, 9, 11, 13]

下面的示例代码使用一行 if ... else 列表推导,将奇数元素添加为 1,将奇数元素转换为偶数,并将偶数元素添加到列表,而无需对其进行任何操作,结果,我们得到一个新的偶数列表。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x + 1 if x % 2 == 1 else x for x in mylist]
print(newlist)

输出:

[2, 4, 6, 8, 10, 12, 14, 12]

相关文章 - Python Loop