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)
    处在这个俗世,也得让自己变得更好吧
  • 相关阅读:
    Codeforces 1355 D. Game With Array
    Codeforces 1355 C. Count Triangles
    Codeforces Round #641 (Div. 2)
    Codeforces 1345 D
    hdu6787(骰子+往回推的传输带问通过方案,dp)
    hdu6745(渐减1过程的最多互质对数,dp)
    D Points Construction Problem(思维构造,等周定理)
    Codeforces Round #658 (Div. 2)D(01背包)
    Codeforces Round #655 (Div. 2)E(矩阵范围dp)
    hdu4622([u,v]内有多少个子串)
  • 原文地址:https://www.cnblogs.com/butaileng7/p/14534302.html
Copyright © 2011-2022 走看看