Python 列表推导式
我们可以使用给定的 Python 序列创建新的序列。这被称为推导式。它基本上是一种编写简洁的代码块来生成序列的方法,该序列可以使用另一个序列生成列表、字典、集合或生成器。它可能涉及不同类型序列之间多个步骤的转换。
列表推导式
在这种方法中,我们通过操作现有列表的值来创建一个新列表。在下面的示例中,我们获取一个列表,并通过向给定列表的每个元素添加 3 来创建一个新列表。
示例
given_list = [x for x in range(5)] print(given_list) new_list = [var+3 for var in given_list] print(new_list)
输出
运行以上代码将得到以下结果:
[0, 1, 2, 3, 4] [3, 4, 5, 6, 7]
字典推导式
类似于上面,我们可以获取一个列表并从中创建一个字典。
示例
given_list = [x for x in range(5)]
print(given_list)
#new_list = [var+3 for var in given_list]
new_dict = {var:var + 3 for var in given_list }
print(new_dict)输出
运行以上代码将得到以下结果:
[0, 1, 2, 3, 4]
{0: 3, 1: 4, 2: 5, 3: 6, 4: 7}我们还可以获取两个列表并从中创建一个新的字典。
示例
list1 = [x for x in range(5)]
list2 = ['Mon','Tue','Wed','Thu','Fri']
print(list1)
print(list2)
new_dict ={key:value for (key, value) in zip(list1, list2)}
print(new_dict)输出
运行以上代码将得到以下结果:
[0, 1, 2, 3, 4]
['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
{0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu', 4: 'Fri'}集合推导式
我们可以采用与上面类似的方法,并从现有的集合或列表中创建一个新的集合。在下面的示例中,我们通过向现有集合的元素添加 3 来创建一个新的集合。
示例
given_set = {x for x in range(5)}
print(given_set)
new_set = {var+3 for var in given_set}
print(new_set)输出
运行以上代码将得到以下结果:
{0, 1, 2, 3, 4}
{3, 4, 5, 6, 7}生成器推导式
可以从现有列表创建新的生成器。这些生成器在内存方面效率很高,因为它们是在生成项目时分配内存,而不是在开始时分配内存。
示例
given_list = [x for x in range(5)] print(given_list) new_set = (var+3 for var in given_list) for var1 in new_set: print(var1, end=" ")
输出
运行以上代码将得到以下结果:
[0, 1, 2, 3, 4] 3 4 5 6 7
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP