1. 1.dict函数
    语法:
    dict()
    dict(**kwarg)
  2. dict(mapping, **kwarg)
  3. dict(iterable, **kwarg)

第一种:dict()构造一个空字典

  1. h=dict()
  2. print(h) #{}

第二种:dict(**kwargs) dict函数需要传入关键字参数。

  1. a=dict(one='',two='')
  2. print(a) #{'one': '1', 'two': '2'}

第三种:dict(mapping,**kwarg)

  1. b=set([(1,2)])
  2. print(b) #{(1, 2)}
  3. b=dict(b)
  4. print(b) #{1: 2}
  5.  
  6. c = [(1,'c'), ['c', 1]]
  7. c=dict(c)
  8. print(c) #{1: 'c', 'c': 1}
  9.  
  10. d = ('ac', set('de'))
  11. print(d)#('ac', {'d', 'e'})
  12. d=dict(d)
  13. print(d) #{'a': 'c', 'd': 'e'}

第四种:高大上了

  1. e = dict([(['one', 'two'][i - 1], i) for i in (1, 2)])
  2. print(e) #{'one': 1, 'two': 2}
  3.  
  4. f = dict({'one': 1, 'two': 2}.items())
  5. print(f) #{'one': 1, 'two': 2}
  6.  
  7. g = dict(zip(('one', 'two'), (1, 2)))
  8. print(g) #{'one': 1, 'two': 2}

2.列表生成式

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建列表的生成式。

[exp for iter_var in iterable] 
首先迭代 iterable 里所有内容, 每一次迭代, 都把 iterable 里相应内容放到 iter_var 中, 再在表达式 exp 中应用该 iter_var 的内容, 最后用表达式的计算值生成一个新的列表.

  1. a=range(1,10)
  2. >>> [a*a for a in range(1,10)]
  3. [1, 4, 9, 16, 25, 36, 49, 64, 81]

可以使用两层循环,可以生成全排列:

  1. >>> L = [(x, y) for x in range(2) for y in range(3)]
  2. >>> L
  3. [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]

可以使用判断语句

  1. >>> c = [x for x in range(10) if x > 5]
  2. >>> c
  3. [6, 7, 8, 9]

列表生成式也可以使用两个变量来生成list:

  1. >>> d = {'a': 'A', 'b': 'B', 'c': 'C' }
  2. >>> [k + '=' + v for k, v in d.items()]
  3. ['a=A', 'b=B', 'c=C']

把一个list中所有的字符串变成小写:

  1. >>> L = ['I', 'Love', 'Greg']
  2. >>> [s.lower() for s in L]
  3. ['i', 'love', 'greg']

虽然列表生成式好用,但需要只是执行一个循环的时候尽量使用循环而不是列表解析, 这样更符合python提倡的直观性

当有内建的操作或者类型能够以更直接的方式实现的, 不要使用列表解析. 例如复制一个列表时, 使用 L1=list(L) 即可, 不必使用: L1=[x for x in L]

如果需要对每个元素都调用并且返回结果时, 应使用 L1=map(f,L), 而不是 L1=[f(x) for x in L].

Python函数篇:dict函数和列表生成式的更多相关文章

  1. Python入门篇-匿名函数

    Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...

  2. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  3. python中的 dict() 函数

    Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. dict() 函数函数语法: dict(key/value) 参数说明: key/v ...

  4. python基础篇_003_函数

    python中的函数 1.函数的目的 .避免代码冗余 .增强可读性 2.函数的定义与调用 # 定义函数 使用关键字def """ 1.定义函数: def 函数名(): 函 ...

  5. Python基础篇(初始函数)

    Python初始函数: 一.什么是函数 1.我们到目前为止, 已经可以完成一些软件的基础功能了. 那么我们来完成这样一个功 能: 约x: print("拿出手机") print(& ...

  6. CSIC_716_20191114【生成器、匿名函数、内置函数、三元表达式、列表生成式、生成器表达式】

    生成器: 函数与yield连用,凡是函数中有yield的,调用该函数的时候均不会立即执行,而是会返回一个生成器. 生成器本质上是一个迭代器,需要通过    [生成器.__next__()]或者[nex ...

  7. python 基础篇 匿名函数

    匿名函数基础 首先,什么是匿名函数呢?以下是匿名函数的格式: lambda argument1, argument2,... argumentN : expression 我们可以看到,匿名函数的关键 ...

  8. python 基础篇 自定义函数

    多态 我们可以看到,Python 不用考虑输入的数据类型,而是将其交给具体的代码去判断执行,同样的一个函数(比如这边的相加函数 my_sum()),可以同时应用在整型.列表.字符串等等的操作中. 在编 ...

  9. python 基础篇 11 函数进阶----装饰器

    11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...

  10. Python入门基础之迭代和列表生成式

    什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration). 在Python中,迭代是通过 for ...

随机推荐

  1. Java 编程思想 Chapter_14 类型信息

    本章内容绕不开一个名词:RTTI(Run-time Type Identification) 运行时期的类型识别 知乎上有人推断作者是从C++中引入这个概念的,反正也无所谓,理解并能串联本章知识才是最 ...

  2. vue+axios 前端实现登录拦截(路由拦截、http拦截)

    一.路由拦截 登录拦截逻辑 第一步:路由拦截 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录.如果用户已经登录,则顺利进入路由, 否则就进入登录 ...

  3. MySQL所学所思所想

    MySQL更改线上配置方案思想:原则上,需要备机.备份工作准备到位,有参数调优配置方案.有配置回退方案.有应急切换备机方案.以上方案评审无问题,然后可以和客户约定实施的时间.服务中断时间,先向客户侧申 ...

  4. 关于js浮点数计算精度不准确问题的解决办法

    今天在计算商品价格的时候再次遇到js浮点数计算出现误差的问题,以前就一直碰到这个问题,都是简单的使用tofixed方法进行处理一下,这对于一个程序员来说是及其不严谨的.因此在网上收集了一些处理浮点数精 ...

  5. spring web.xml配置

    <!--推荐使用此种方式-->  <listener> <listener-class> org.springframework.web.context.Conte ...

  6. Cmder 软件中修改λ符号方法

    以前的版本 网上都有,我就不介绍了,  只介绍现在的 1. 打开Cmder软件安装位置 2. 打开vendor文件夹 profile.ps1文件 3. 找到第77行  Write-Host " ...

  7. PBOC圈存时用到3DES加密解密以及MAC计算方法

    最近在做PBOC圈存时用到了3DES的加密解密以及MAC计算问题,在网上了解一些知识,复制了一些demo学习,我这里没有深入研究,只是把我用到的和了解的做个总结,便于以后使用和学习. 3DES分双倍长 ...

  8. javascript小节

      javascript 语法总结 知识概要: (1)Javascript概述 1.1javascript是什么? 1.2JavaScript语言组成 1.3JavaScript与Html的结 ...

  9. Elasticsearch学习笔记 一

    本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws. 本文参考和学习资料 <ES权威指南> 一.基本概念 存储数据到ES中的行为叫做 ...

  10. scala中的Type使用

    trait Base { val name: String } case class S( name: String, age: Int ) extends Base case class F( na ...