Python推导式(Comprehension)是Python语言中的高级特性之一,可以简洁地表达出 for 循环语句创造的新容器。在Python中,主要有三种推导式,分别为列表推导式、字典推导式和集合推导式。本文将详细讲解这三种推导式的使用及示例说明。
列表推导式
列表推导式是Python中最常用的推导式,它可以用一个简洁的语句创建一个新列表。列表推导式的语法格式为:
new_list = [expression for item in iterable]
其中,expression
是我们要对item
进行操作的表达式,iterable
是一个可迭代对象,如列表、元组、集合等,item
是iterable
中的元素。
下面是一个简单的示例,通过列表推导式将指定范围内的所有偶数保存到一个列表中:
even_numbers = [num for num in range(10) if num % 2 == 0]
print(even_numbers) # 输出 [0, 2, 4, 6, 8]
在这个示例中,我们使用了range()
函数生成一个包含0到9的整数序列,然后筛选出所有可以被2整除的数,最后将符合条件的数保存到列表even_numbers
中。
字典推导式
字典推导式可以用来生成一个新字典。字典推导式的语法格式为:
new_dict = {key:value for item in iterable}
其中,key
和value
分别是字典中的键和值,item
是iterable
中的元素。
下面是一个简单的示例,通过字典推导式将一个字符串中出现的所有单词及其出现次数保存到一个字典中:
text = 'Hello world! This is a Python tutorial.'
word_count = {word:text.count(word) for word in text.split()}
print(word_count) # 输出 {'Hello': 1, 'world!': 1, 'This': 1, 'is': 1, 'a': 1, 'Python': 1, 'tutorial.': 1}
在这个示例中,我们使用字符串的split()
方法将字符串拆分成一个单词列表,然后对列表中的每个单词使用count()
方法计算出现次数,最后将单词及其出现次数作为键值对保存到字典word_count
中。
集合推导式
集合推导式可以用来生成一个新集合。集合推导式的语法格式为:
new_set = {expression for item in iterable}
其中,expression
是我们要对item
进行操作的表达式,iterable
是一个可迭代对象,如列表、元组、集合等,item
是iterable
中的元素。
下面是一个简单的示例,通过集合推导式生成一个由1到10之间所有的平方数组成的集合:
square_set = {num ** 2 for num in range(1,11)}
print(square_set) # 输出 {1, 4, 9, 16, 25, 36, 49, 64, 81, 100}
在这个示例中,我们使用了range()
函数生成一个包含1到10的整数序列,然后对序列中的每个数进行平方操作,最后将结果保存到集合square_set
中。
以上就是 Python 推导式简单示例的完整攻略。通过此文的介绍,相信你已经了解了 Python 中三种不同的推导式的基本用法,并且对它们的使用有了更深入的理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python推导式简单示例【列表推导式、字典推导式与集合推导式】 - Python技术站