python中的推导式

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2021/3/13 23:13
# @Author  : banzhu
# @File    : comprehensions.py
"""
推导式comprehensions(又称解析式),是Python的一种独有特性
使用推导式可以快速生成列表、元组、字典以及集合类型的数据
推导式分为:列表推导式,元组推导式,字典推导式和集合推导式
"""

"""
列表(list)推导式语法格式:
[表达式 for 迭代变量 in 可迭代对象[if 条件表达式]]
if条件表达式非必须的,可使用,也可省略 可以理解为:对 for 循环语句的格式做了一下简单的变形,并用 [] 括起来,将得到的一系列值组成一个列表
""" a_range = range(10) # 对a_range执行for表达式 a_list = [x * x for x in a_range] # a_list集合包含10个元素 print(a_list) b_list = [x * x for x in a_range if x % 2 == 0] # a_list集合包含5个元素 print(b_list) """ 元组(tuple)推导式语法格式: (表达式 for 迭代变量 in 可迭代对象[if 条件表达式]) """ a = (x for x in range(1,10)) print(a) """ 字典(dict)推导式语法格式: {表达式 for 迭代变量 in 可迭代对象[if 条件表达式]} """ # 使用 if 表达式筛选符合条件的键值对 olddict={'C语言中文网': 6, 'c.biancheng.net': 15} newdict = {v: k for k, v in olddict.items() if v>10} print(newdict) """ 集合(set)推导式语法格式: {表达式 for 迭代变量 in 可迭代对象[if 条件表达式]} 集合推导式和字典推导式的格式完全相同,通过表达式进行判断: 如果表达式以键值对(key:value)的形式,则证明此推导式是字典推导式;反之,则是集合推导式。 """ setnew = {i**2 for i in range(3)} print(setnew) tupledemo = (1,1,2,3,4,5,6,6) setnew = {x**2 for x in tupledemo if x%2==0} print(setnew)
处在这个俗世,也得让自己变得更好吧
原文地址:https://www.cnblogs.com/butaileng7/p/14534302.html