python记录
2016-05-26 20:46
465 查看
>>> ss=[var if not var%2 else var+10 for var in range(1,10)] >>> ss [11, 2, 13, 4, 15, 6, 17, 8, 19]
在上例中,if语句与前面的var相结合,不能没有else,如果没有的话,会出错(而且,就算改为else pass,或者else continue也会出错,因为if-else的这种特殊写法在这里必须要输出一个值),参考下面:
>>> 'a' if 5%2 File "<stdin>", line 1 'a' if 5%2 ^ SyntaxError: invalid syntax >>> 'a' if 5%2 else 'b' 'a'如果要写的语句里真的不有else分支,应该这样写:
>>> ss=[var for var in range(1,10) if not var%2] >>> ss [2, 4, 6, 8]列表推导式中,if都写在for的右边,且不能有else。而第一个例子,是列表推导式加if-else的特殊写法,组合时要遵循各自的语法规则。
1、将列表中的单词组成一句话:
>>> from functools import reduce >>> ss=['I','am','a','good','boy'] >>> reduce(lambda a,b:"%s %s"%(a,b),ss) 'I am a good boy'
2、python3中,将print输出到文件:
In [8]: import sys In [9]: print('test',file=sys.stderr) test In [10]: ferr=open('info.txt','w') In [11]: print('test',file=ferr) In [12]: ferr.close() In [13]:
3、在ipython或者ipython notebook中运行python程序:
!python test.py !pyspark wordcount.py <input_file>这样就不需要再开个终端来运行.py程序了
4、sort和sorted,参考:点击打开链接
>>> list = [2,5,1] >>> list [2, 5, 1] >>> sorted(list) [1, 2, 5] >>> list [2, 5, 1] >>> list.sort() >>> list [1, 2, 5]
sorted(list)返回一个对象,可以用作表达式。原来的list不变,生成一个新的排好序的list对象。
list.sort() 不会返回对象,改变原有的list。
5、python3中没有sys.maxint了,有如下三种替代办法:
#1 import struct platform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1 #2 sys.maxsize #3 float("inf")
6、在浏览器里查看帮助文档:
python -m pydoc -p 4567
简单解释一下:
python -m pydoc表示打开pydoc模块,pydoc是查看python文档的首选工具;
-p 4567表示在4567端口上启动server;
然后在浏览器中访问http://localhost:4567/,此时应该可以看到python中所有的Modules
7、python3 string与bytes相互转换:
将bytes转换成unicode:
str(eachline,'utf8')
将unicode转换成bytes:
bytes(string,'utf8')是反向操作
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法