如何在Python中使用一行代码编写for循环
Python 提供了多种在一行中编写循环的方法,可以让程序更具可读性和简洁性。可以使用 for 循环遍历可迭代对象或序列,这是在一行中编写 for 循环的最简单方法,还可以使用列表推导式和带有 if-else 语句的列表推导式在一行代码中编写 for 循环。
在本文中,将通过示例说明 Python 在单行代码中编写 for 循环的方法。
简单的一行 For 循环
使用 for 循环遍历可迭代对象,例如列表、集合、元组、字符串、字典等。迭代过程可以在一行代码中完成的,这是在一行中编写 for 循环的基本方法。
让我们实现一个单行循环来遍历 Python 可迭代对象。在此示例中,我将字符串列表和 range() 作为可迭代对象。
lst = ["I", "love", "Python"]
for item in lst: print(item)
使用列表推导式
lst = [item**2 for item in range(2,5)]
print(lst)
使用 if-else 及列表推导式
用列表推导式与 if-else 语句一起使用,可以通过对现有对象的元素应用特定条件来从现有列表中筛选元素来创建一个新列表或。
lst = [item**2 for item in range(2,5) if item % 2 == 0]
print(lst)
my_list = [2, 3, 4, 5]
lst = [item**2 if item % 2 == 0 else item**3 for item in range(2,5) ]
print(lst)
在一行中嵌套 for 循环
在列表推导式中使用嵌套循环,可以同时对多个对象执行操作。允许遍历多个对象创建新列表。所有这些都可以在一行代码中完成。
下面是将两个列表使用两个 for 循环将它们组合在一起的示例:
list1 = [5, 10]
list2 = [1, 2, 3]
new_list = [x*y for x in list1 for y in list2 ]
print(new_list)
使用 if-else 及循环嵌套
使用嵌套循环以及包含 if-else 语句的列表推导式,可以对现有列表的元素应用特定条件来创建新列表。
list1 = [5, 10]
list2 = [1, 2, 3]
new_list = [x*y for x in list1 for y in list2 if x % 2 == 0]
print(new_list)
使用多个 if-else 及循环嵌套
使用嵌套循环以及列表推导式中的多个条件,可以对现有对象的元素应用某些条件来创建新列表。
list1 = [5, 10]
list2 = [1, 2, 3]
new_list = [x*y for x in list1 for y in list2 if x % 2 == 0 if y % 2 != 0]
print(new_list)
见微信公众号: 信息科技云课堂