python记录

来源:互联网 发布:数据统计 编辑:程序博客网 时间:2024/06/05 20:34
>>> 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 sysIn [9]: print('test',file=sys.stderr)testIn [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了,有如下三种替代办法:

#1import structplatform_c_maxint = 2 ** (struct.Struct('i').size * 8 - 1) - 1#2sys.maxsize#3float("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')是反向操作

0 0
原创粉丝点击