python小技巧 全排列的实现和join函数

来源:互联网 发布:青岛搜索引擎优化外包 编辑:程序博客网 时间:2024/06/05 03:38

以前做题碰见过给一个数n,输出所有的全排列。

然后C++的STL里面有个函数permutation

没成想python也有


如代码

import itertoolsn = input()str1 = ''for i in range(1, n + 1):    str1 = str1 + str(i)for i in itertools.permutations(str1, n):    print "".join(i)

这里用到的join函数

>>> a=['hello','world']
>>> '?'.join(a) //这里是用问号连接
'hello?world'
>>> ','.join(a) //这里用逗号连接
'hello,world'
>>> ';'.join(a) //这里用分号连接
'hello;world'

主要的功能就是这样。 把一个list中的元素或者tuple中的元素或者(dic的成员变量名)用某个符号连接起来

然后注意的是如果list里是数字的话,没法join 

而上面代码中的每个i都是一个tuple。