首页 > 代码库 > python yield
python yield
描述:遍历数据,数据为数字或者由数字填充的列表
不使用生成器
1 data = http://www.mamicode.com/[[1, 2], [3, 2], [5]]2 3 for lst in data:4 for item in lst:5 print item
使用生成器
1 data = http://www.mamicode.com/[[1, 2], [3, 2], [5]]2 3 def flatten(nested):4 for lst in nested:5 for element in lst:6 yield element7 8 for item in flatten(data):9 print item
如果嵌套的层数不定
使用生成器
1 data_1 = [1, 3] 2 data_2 = [[3, 1], [4, 1]] 3 data_3 = [1, 2] 4 5 data =http://www.mamicode.com/ [data_1, data_2, data_3] 6 7 def flatten(nested): 8 try: 9 for lst in nested:10 for item in flatten(lst):11 yield item12 except:13 yield nested14 15 for item in flatten(data):16 print item
不使用生成器
1 data_1 = [1, 3] 2 data_2 = [[3, 1], [4, 1]] 3 data_3 = [1, 2] 4 5 data =http://www.mamicode.com/ [data_1, data_2, data_3] 6 7 def foo(data): 8 for item in data: 9 if type(item) is type(1):10 print item,11 else:12 foo(item)13 14 foo(data)
参考:《python基础教程》 人民邮电出版社
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。