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

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

h=dict()
print(h) #{}

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

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

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

b=set([(1,2)])
print(b) #{(1, 2)}
b=dict(b)
print(b) #{1: 2} c = [(1,'c'), ['c', 1]]
c=dict(c)
print(c) #{1: 'c', 'c': 1} d = ('ac', set('de'))
print(d)#('ac', {'d', 'e'})
d=dict(d)
print(d) #{'a': 'c', 'd': 'e'}

第四种:高大上了

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

2.列表生成式

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

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

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

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

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

可以使用判断语句

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

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

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

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

>>> L = ['I', 'Love', 'Greg']
>>> [s.lower() for s in L]
['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. 最详细的cookie和浏览隐私之间的关系

    本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie"). 浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信 ...

  2. E - 今年暑假不AC HDU - 2037

    "今年暑假不AC?"  "是的."  "那你干什么呢?"  "看世界杯呀,笨蛋!"  "@#$%^&* ...

  3. MMORPG战斗系统随笔(二)、浅谈场寻路Flow Field PathFinding算法

    转载请标明出处http://www.cnblogs.com/zblade/ 今天给大家带来一篇游戏中寻路算法的博客.去年,我加入一款RTS的游戏项目,负责开发其中的战斗系统,战斗系统的相关知识,属于游 ...

  4. 使用百度ueditor的插件使得代码高亮显示

    一.在show.html模板中,引入ueditor的插件,并调用 <link rel="stylesheet" href="__ROOT__/Data/uedito ...

  5. vue学习第一篇 hello world

    计划近期开始学习vue.js.先敲一个hello wolrd作为开始. <!DOCTYPE html> <html lang="en"> <head& ...

  6. 关于JetBrains CLion 激活 (CLion License Activation)的解决办法,带hosts详细修改

    CLion版本号:JetBrains CLion 2017.2.1 第一行选择Activite,第二行Activate license with:选择Activation code. 这个时候里面的代 ...

  7. The Twin Towers zoj2059 DP

    The Twin Towers Time Limit: 2 Seconds      Memory Limit: 65536 KB Twin towers we see you standing ta ...

  8. bzoj1036 [ZJOI2008]树的统计

    一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从 ...

  9. UrlRewriter配置IIS支持伪静态

    使用UrlRewriter时遇到了一些问题,在园子里的博问中找到了Astar的回答,防止以后找不到,就记录下来了. UrlRewriter.NET官方地址:http://urlrewriter.net ...

  10. Oracle 之——子查询 DDL DML 集合 及其他数据对象

    Oracle 学习笔记(二) 知识概要: 1.子查询 2.集合操作 3.DML语句操作 4.其他数据库对象 1.子查询 查询工资比SCOTT高的员工信息 1  select * 2  from emp ...