1,将一个列表中所有元素转换成浮点类型,如果不能转换,则丢弃该元素。
'''
1,将一个列表中所有元素转换成浮点类型,如果不能转换,则丢弃该元素。
'''
li=[1,2,3,"a","b",1+2j,4,[1,2],(1,2,[2,3,(1,2)])] #需要处理的列表
def myge(li): #生成器
for i in li:
if isinstance(i,tuple) or isinstance(i,set) or isinstance(i,list):
yield list(myge(i))
else:
try:
float(i)
except:
continue
else:
yield float(i)
li_new = list(myge(li)) # 处理后的新列表
print(li_new)
【执行结果】
【知识点】
- 生成器函数
- 递归函数
- 异常处理
2,用生成器函数,实现获取指定元素个数的斐波那契数列。
'''
2,用生成器函数,实现获取指定元素个数的斐波那契数列。
'''
def myitem(n): #生成器函数
a0 = 0
a1 = 1
for i in range(n):
yield a1
a0,a1 = a1,a0+a1
n = int(input('请输入斐波那契数列元素个数n='))
its = myitem(n)
print(list(its))
【执行结果】