映射、字典

## 映射类型内建函数
* dict
Error:
Python核心编程(第二版)p170
>>> dict([['x', 1], ['y', 2]])
{'y': 2, 'x': 1}
实际输出测试:
>>> dict([['x', 1], ['y', 2]])
{'y': 2, 'x'Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 0] Error Correct:
>>> dict((['x', 1], ['y', 2]))
{'y': 2, 'x': 1} ## 三元操作符
X if C else Y eg.
>>> x, y = 4, 5
>>> smaller = x if x < y else y
>>> smaller
4 ## enumerate()内建函数
eg.
>>> numlist = ['a', 'b', 'c']
>>> for index, i in enumerate(numlist):
... print '%d %s' % (index+1, i)
...
1 a
2 b
3 c ## zip()
eg.
>>> numlist
['a', 'b', 'c']
>>> strlist = [1, 2, 3]
>>> strlist
[1, 2, 3]
>>> for num, str in zip(numlist, strlist):
... print '%d \t %s' % (str, num)
...
1 a
2 b
3 c ## 再谈else语句
在Python中,else语句也可以在while和for循环中使用。在循环中使用时,else子句只在循环完成后执行,但是break语句会跳过else块。 eg.
>>> for i in range(10, 21):
... if i%2 == 0:
... print '[%d] \t [%d]' % (i, i%2)
... break
... else:
... print 'Break Test successful!'
...
[10] [0] ## 迭代器
* 0、创建迭代器
iter(obj)
iter(func, sentinel) 迭代器是一个有next()方法的对象,通过next()可以取出所需要的下一个项,当所有的项被取出后,就会报一个StopIteration异常,这并不是一个错误,只是告诉外部调用者,迭代完成。
* 1、序列
一个for循环的完整工作是这样的:
>>> seq = ('q121', 132, 'dad')
>>> seq = iter(seq)
>>> while True:
... try:
... i = seq.next()
... except StopIteration:
... break
... print '[%s]' % i
...
[q121]
[132]
[dad] * 2、字典
eg.dict.iterkeys() dict.itervalues() dict.iteritems()
>>> seq = {'a': 1, 'b': 2}
>>> for i in seq.iterkeys():
... print i
...
a
b >>> for i in seq.values():
... print i
...
1
2 >>> for i in seq.items():
... print i
...
('a', 1)
('b', 2)
>>> for i, j in seq.items():
... print '[%s] \t [%s]' % (i, j)
...
[a] [1]
[b] [2] ## 列表表达式
eg.
>>> lambda x: x ** 2, range(6)
(<function <lambda> at 0x00000000052AEBA8>, [0, 1, 2, 3, 4, 5])
>>> map(lambda x: x ** 2, range(6))
[0, 1, 4, 9, 16, 25]
>>> [x ** 2 for x in range(6)]
[0, 1, 4, 9, 16, 25]
>>> [x ** 2 for x in range(6) if x % 2 == 0]
[0, 4, 16] 列表解析式的判断部分默认为真:
eg.
>>> [x ** 2 for x in range(6) if x % 2 ] // 真
[1, 9, 25]
>>> [x ** 2 for x in range(6) if x % 2 == 0] // 假
[0, 4, 16] ## 矩阵样例
同一个例子,为啥输出不一样!
eg.
>>> [(x+1, y+1) for x in range(3) for y in range(5)]
[(1, 1)Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 0] Error
>>> [(x+1, y+1) for x in range(3) for y in range(5)]
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5)] ## 追加
>>> str
['suahduaihsdu']
>>> [i for word in str for i in word]
['s', 'u', 'a', 'h', 'd', 'u', 'a', 'i', 'h', 's', 'd', 'u'] ## os.stat()
eg.
>>> import os
>>> print os.stat("/root/python/zip.py")
(33188, 2033080, 26626L, 1, 0, 0, 864, 1297653596, 1275528102, 1292892895)
>>> print os.stat("/root/python/zip.py").st_mode #权限模式
33188
>>> print os.stat("/root/python/zip.py").st_ino #inode number
2033080
>>> print os.stat("/root/python/zip.py").st_dev #device
26626
>>> print os.stat("/root/python/zip.py").st_nlink #number of hard links
1
>>> print os.stat("/root/python/zip.py").st_uid #所有用户的user id
0
>>> print os.stat("/root/python/zip.py").st_gid #所有用户的group id
0
>>> print os.stat("/root/python/zip.py").st_size #文件的大小,以位为单位
864
>>> print os.stat("/root/python/zip.py").st_atime #文件最后访问时间
1297653596
>>> print os.stat("/root/python/zip.py").st_mtime #文件最后修改时间
1275528102
>>> print os.stat("/root/python/zip.py").st_ctime #文件创建时间
1292892895

Python——追加学习笔记(一)的更多相关文章

  1. Python——追加学习笔记(四)

    函数 1.python里的函数可以返回一个值或者对象,知识在返回一个容器对象的时候有点不同,看起来像是能返回多个对象. >>> def bar(): ... return 'abc' ...

  2. Python——追加学习笔记(三)

    错误与异常 AttributeError:尝试访问未知的对象属性 eg. >>> class myClass(object): ... pass ... >>> m ...

  3. Python——追加学习笔记(二)

    文件处理 # 文件内移动 seek()方法可以在文件中移动文件指针到不同的位置,offset字节代表相对于某个位置偏移量,默认为0,代表从文件开头算起,1代表从当前位置算起,2代表从文件末尾算起. s ...

  4. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  7. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  8. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  9. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

随机推荐

  1. bzoj2190 仪仗队

    题目传送门 思路: 哪些点能被人看到,其实就是哪些点不会被其他点挡住,只要顶点的坐标互质就可以了,互质用欧拉函数算.特殊考虑一下n=1和0的情况. 欧拉函数,Φ(x)=x(1-1/p1)(1-1/p2 ...

  2. 113th LeetCode Weekly Contest Largest Time for Given Digits

    Given an array of 4 digits, return the largest 24 hour time that can be made. The smallest 24 hour t ...

  3. .net mvc 用jquery ajax成功后页面跳转。

    $.ajax({ //url: 'http://192.168.0.102/webApiDemo/api/WebApiTest/PostStudentInforOnePara', //url: &qu ...

  4. JAVA 序列化_基础

    JAVA序列化 实现 Serializable 接口的对象,可以序列化为本地文件 简单示例: //序列化类 public class Test implements Serializable { pr ...

  5. PIE SDK元素事件的监听

    1功能简介 元素在操作的过程中,如添加,删除,选中等操作都需要有事件的监听,PIE SDK支持对元素操作事件的监听,下面对元素事件的监听进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一 ...

  6. PIE SDK云图动画导出

    云图动画,就是将一组序列图以动画的形式进行轮播,PIE SDK可以将云图动画以gif或avi格式进行导出,本文示例以云图动画导出gif为例,这样只需要点开gif文件就可以浏览云图动画. 下面来介绍下实 ...

  7. 超文本传送协议 HTTP

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. HTTP是一个属于应用层的面向对象的协议, ...

  8. vue 权限管理深度探究

    实现思路如下:1.网页路由(route)中定义的每个路由都有meta属性,属性值防止可访问该路由的值.2.路由的全局前置守卫(beforeEach)会判断路由用户是否登录(未登录跳转至登录界面),以及 ...

  9. 测试次数(C++)

    测试次数(结果填空) (满分17分) 注意事项:问题的描述在考生文件夹下对应题号的“题目.txt”中.相关的参考文件在同一目录中.请先阅读题目,不限解决问题的方式,只要求提交结果.必须通过浏览器提交答 ...

  10. 数据库保存session

    一般情况下,php.ini里的session.save_handler默认是file,也就是用文件来保存session,这种方式有几个缺点: 1.如果单靠session自己的垃圾回收机制,时间久了,保 ...