1. import itertools
import itertools
s = [1, 2, 3, 4]
list1 = list(itertools.combinations('abc', 2))
print list1
list2 = list(itertools.permutations(s,3))
print list2
print len(list2)
输出:
[('a', 'b'), ('a', 'c'), ('b', 'c')]
[(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), (3, 1, 2), (3, 1, 4), (3, 2, 1), (3, 2, 4), (3, 4, 1), (3, 4, 2), (4, 1, 2), (4, 1, 3), (4, 2, 1), (4, 2, 3), (4, 3, 1), (4, 3, 2)]
24
显然,combinations方法重点在组合,permutations方法重在排列。
还有就是,combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list,而是iterators(迭代器), 所以想要使用,只用将iterator 转换成list 即可, 还有其他一些函数返回的也是一个对象,需要list转换,比如 list(map())等 。
2. 获取当前文件所在目录
import os
a= path = os.path.split(os.path.realpath((__file__)))[0]
print a
print os.getcwd()