zoukankan      html  css  js  c++  java
  • 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)
    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    poj 1015 Jury Compromise(背包+方案输出)
    最长公共上升子序列 (poj 2127) (Greatest Common Increasing Subsequence)
    轮廓线DP:poj 2279 Mr. Young's Picture Permutations
    LCS的几种求法
    POJ 1737 Connected Graph(高精度+DP递推)
    Cats transport(codeforces311B)(斜率优化)
    高精度(压位+判负数+加减乘+读写)
    洛谷 P2257 YY的GCD
    [POI2007]ZAP-Queries (莫比乌斯反演+整除分块)
    [SDOI2010]古代猪文 (欧拉,卢卡斯,中国剩余)
  • 原文地址:https://www.cnblogs.com/butaileng7/p/14534302.html
Copyright © 2011-2022 走看看