大神帮我Python yield语句使用方法纠错,pythonyield,用递归实现的全排列生成器
大神帮我Python yield语句使用方法纠错,pythonyield,用递归实现的全排列生成器
用递归实现的全排列生成器如下:
num = [str(i) for i in xrange(10)]def perm(num,s): if s==len(num): yield ''.join(num) for i in xrange(s,len(num)): num[s],num[i] = num[i],num[s] perm(num,s+1) num[s],num[i] = num[i],num[s]f=perm(num,0)print f.next()
运行后提示如下:
Traceback (most recent call last): File "###",line 10,in <module> f.next()StopIteration
我自己检查,发现递归根本进不去啊,是不是我使用yield的方法不对啊?
def perm(num,s): if s==len(num): yield ''.join(num) for i in xrange(s,len(num)): num[s],num[i] = num[i],num[s] for each in perm(num,s+1): yield each num[s],num[i] = num[i],num[s]
编橙之家文章,
相关内容
- 又是python乱码问题,excel类型文件单元格内数据有中文乱
- python的bs4库中如何筛选出SEO h1标签中内容,bs4seo,今天在
- 交互模式与编程模式正则表达式运行结果不同是什么原
- Python实现Grunt、Yo创建自定义命令效果方法是什么,py
- python2.7.x系列版本都有什么区别,python2.7.x系列版本,今
- python3环境下文本中超链接出错,要如何修正处理求解,
- python bottle跑起来以后,定时执行的任务为什么每次都重
- Python Twisted库scrapy shell返回connection refused,twistedscrapy
- c#语言可以调用python程序问题,,我在一个winform的
- 程序员学习哪门语言最有前景?,程序员门语言前景,r
评论关闭