順列の目的でジェネレーターを作成しようとしています。Pythonでそれを行う方法は他にもあることは知っていますが、これは別の方法です。残念ながら、私は価値を生み出すことができません。手伝ってくれますか?
def perm(s,p=0,ii=0):
l=len(s)
s=list(s)
if(l==1):
print ''.join(s)
elif((l-p)==2):
yield ''.join(s)
yield ''.join([''.join(s[:-2]),s[-1],s[-2]])
else:
for i in range(p,l):
tmp=s[p]
s[p]=s[i]
s[i]=tmp
perm(s,p+1,ii)