分类 "Python" 下的文章

问题:python中两个列表list如何求交集
解决:使用set的&方法
方法:
a = [1,2,3,4,1,5]
b = [2,11,33,43,4]
c = list(set(a) & set(b))
获取c的值为[2,4]

拓展:set方法求列表的并集、交集、差集
list(set(a).intersection(set(b)))
list(set(a).union(set(b)))
list(set(a).difference(set(b)))      # a中有而b中没有的

问题:两个list,希望合并为一个list并且去除重复的元素,两个list的并集
解决:使用set()方法
方法:
a = [1,2,3,4,1,5]
b = [2,11,33,43,4]
c = list(set(a+b))
或者:
c = list(set(a) | set(b))

问题:如何获取python的两个list差集
解决:使用set方法
方法:
a = [1, 2, 3, 4, 1, 5]
b = [2, 11, 33, 43, 4]
c = list(set(a)-set(b))
获取的c为[1, 3, 5]

问题:如何使用pyvenv安装python虚拟环境
解决:因为pyvenv是python3.4,python3.5之后才加入的python开发虚拟环境,所以要使用pyvenv就需要安装python3,4以上版本
方法:
一、安装python3.5
因为无法直接用apt-get安装,所以需要手动安装,地址http://it.xiaomantu.com/web/linux/186.html
二、建立python3 virtual环境
在项目内运行pyvenv .venv   生成.venv目录
三、安装必要python包
.venv/bin/pip3 install -r ../setup/venv_requirements.txt
四、启动服务器
.venv/bin/python3 server/main.py

问题:如何使用range方法生成一个倒序列表
解决:亲自实践
方法:
range(2, -1, -1)      # print   [2, 1, 0]
range(2)      # print [0, 1]
range(0, 2)    # print [0, 1]
range(1, 10, 2)   # print [1, 3, 5, 7, 9]
range(1, 11, 2)   # print [1, 3, 5, 7, 9]
注:range(start, end, step)
生成从start(包括start)开始,步长为step(为负就倒序),到end(不包括end)的数字列表