python小技巧 全排列的實現和join函式

2021-06-16 21:59:36 字數 642 閱讀 8098

以前做題碰見過給乙個數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 進行排列 然後保...