python迭代器及递归

1.可迭代对象有且不限:

list,dict,str,set,tuple

查看是否是可迭代对象方式:

print(dir(list))

#输出list所有的方法,其中包含__iter__()方法就是可迭代对象

可迭代对象的好处:
使用灵活、直接查看值
缺点:消耗内存

2.迭代器:
官方声明只要具有__iter__()方法、next()方法就是迭代器

f = open("aaaa","w")

f.__iter__()
f.__next__()

#文件句柄就是迭代器

3.可迭代对象转换成迭代器

list = [1,2,3,4,5]
new_list = list.__iter__()

#用__iter__()方法 

迭代器取值:

list = [1,2,3,4,5]
new_list = list.__iter__()

print(new_list.__next__())
print(new_list.__next__())
print(new_list.__next__())
list = [1,2,3,4,5]
new_list = list.__iter__()

count = len(list)
while count:
    print(new_list.__next__())
    count -= 1
s = "12345689"
new_s =  s.__iter__()

while True:
    try:
        print(new_s.__next__())
    except StopIteration:
        exit

4.递归
自己调用自己

def func(a):
    a -= 1
    if a == 0:
        return 18
    else:
        return func(a)+2

print(func(5))

Guess you like

Origin blog.csdn.net/qq_37369726/article/details/113629600
Recommended