以前做題碰見過給乙個數n,輸出所有的全排列。
然後c++的stl裡面有個函式permutation
沒成想python也有
如**
import itertools
n = 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。
python實現全排列
有1,2,3,4這4個數字,能組成多少個互不相同且無重複數字的三位數,下面是二種解決示例,需要的朋友可以參考下 第一種方法 遞迴 複製 如下 def perms elements if len elements 1 yield elements else for perm in perms elem...
遞迴實現全排列python
1.保持a不動,動bcd 2.保持b不動,動cd 3.保持c不動,動d def pailie head string if len string 1 for father string in string pailie head father string,string.replace father...
全排列的思想,python實現全排序
題目如下 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。首先,這裡以陣列為例。陣列arr 1,2,3,4 1 2 3 4 為第乙個 然後保持1不變,對 2 3 4 進行排列 然後保...