初入Python之17迭代器函数

sorted(iter)对可迭代对象进行排序
reversed(sequence)反转序列生成新的迭代器对象
zip(iter1,iter2)将iter1与iter2打包成元组并返回一个可迭代的zip对象
enumerate(iter)根据iter对象创建一个enumerate对象
all(iter)判断可迭代对象iter中所有元素的布尔值是否都为True
any(iter)判断可迭代对象iter中所有元素的布尔值是否都为False
next(iter)获取迭代器的下一个元素
filter(function,iter)通过指定条件过滤序列并返回一个迭代器对象
map(function,iter)通过函数function对可迭代对象iter的操作返回一个迭代器对象

lst=[59,58,136,74,-8,0,746]
#排序操作
print(sorted(lst))
print(sorted(lst,reverse=True))

#翻转 reversed之后的类型并不是list要进行转换,
print('*'*30)
lst_reverse=reversed(lst)
print(type(lst_reverse))
print(list(lst_reverse))


#zip 把两个列表组合成一个字典,个数以短的列表为准,多余的剔除
print('*'*30,'zip函数')
x=['a','b','c','d','e','f']
y=[10,28,30,40,50]
zipobj=zip(x,y);
print(type(zipobj))
#print(dict(zipobj))

#enumerate
print('*'*30,'enumerate函数')
em=enumerate(y,start=1)
print(dict(em))

#all &any
print('*'*30,'all')
lst2=[10,20,'',30]
print(all(lst2))
print(any(lst))

#next
print('*'*30,'next')
print(type(zipobj))
print(next(zipobj))
print(next(zipobj))
print(next(zipobj))

#filter
print('*'*30,'filter')
def fun(num):
    return num%2==1

obj=filter(fun,range(10))
print(list(obj))

#map
def up(x):
    return x.upper();

print('*'*30,'map')
obj=map(up,('helloworld','python','list'))
print(list(obj))


其他的内置函数还有.format,len(s),id(obj),type(x),eval(s)

这些函数的用法如下:

#format() 格式函数

print(format(3.1415946,'20'))#数值默认右对齐
print(format('hello','20')) #字符串默认左对齐
print(format('hello','*<20')) #*填充符号,<左对齐。20显示的字符宽度
print(format('hello','*>20')) #*填充符号,<右对齐。20显示的字符宽度
print(format('hello','*^20')) #*填充符号,^居中对齐。20显示的字符宽度

print(format(3.252564,'.2f'))

#len元素的个数长度
print(format("len元素的个数长度",'*^40'))
print(len('helloworld'))
print(len([20,50,40,60,'']))

#id用法,查看地址
print(format("id用法,查看地址",'*^40'))
a=30
print(id(a))


#type查看变量的类型
#eval,字符串去掉左右的引号参与计算。
print(eval('30+20'))







 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值