求n的阶乘:
reduce(lambda x, y: x * y, range(1, n+1))
同理,一个list中,各个元素互乘:
reduce(lambda x, y: x * y, list)[......]
Tag Archives: Python
Python安装lxml(编译安装其依赖的库)
依赖说明:
lxml是libxml2、libxslt的PythonBinding,依赖于libxml2和libxslt。libxslt依赖于libxml2。
由于我们的程序可能要分发到别的机器运行,所以要提取出一个可独立拷贝走的运行时环境,假设该目录为/home/liheyuan/env
1、安装libxml2
wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gz
tar -xzvf libxml2-2.9.0.tar.g[......]
Python的Basic日志模板
日志配置:
import logging
fmt = "%(asctime)s [%(levelname)s] %(message)s"
logging.basicConfig(format=fmt, filename="xxx.log", level=logging.INFO)
日志器获取、使用:
LOG = logging.getLogger(CONF.LOG_NAME)
LOG.info("xxx" % (...) )
LOG.debug("x" % (...) )
201[......]
BeautifulSoup中文乱码解决问题
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://www.leeon.me');
soup = BeautifulSoup(page,fromEncoding="gb18030")
print soup.originalEncoding
print soup.prettify()
如果中文页面编码是gb2312,gb[......]
Python中的笛卡尔乘积(任意维度)
现在的需求是,有若干个List,假设2个:
[1, 3, 5]
[4, 6]
我们要输出(1, 4), (1, 6), (3, 4), (3, 6), (5, 4), (5, 6)
Python中直接提供了笛卡尔乘积,很给力:
a = [1, 3, 5]
b = [4, 6]
import itertools
for x in itertools.product(a, b):
print x
(1, 4)
(1, 6)
(3, 4)
(3, 6)
([......]