Python学习22:列表解析(列表综合深入)

 
print('列表解析------------------------------------')
#列表解析:可用到动态的创建一个列表
#内建函数map():对所有的列表成员应用一个操作
#内建函数filter():基于一个条件表达式过滤列表成员
#列表解析语法:[expr for iter_var in iterable]:核心是for循环,迭代iterable对象的所有条目,expr应用与每个成员

print('使用for列表解析语法:-------------------------------------')

#通过for列表解析计算文件的文字数量
#以二进制的方式打开文件
fd = open('ite.py','rb')
#计算分析出来的列表的长度:执行顺序为,从第一个for循环开始,最后执行word表达式
#生成新的列表
lsf = [word for line in fd for word in line.split()]

#获取长度
sz = len(lsf)
print('当前文件的文字数量:',sz)

print('内建函数map()的使用:对所有列表成员执行统一个操作:----------------')
#map()使用:其中第一个参数是处理方法,将0到6范围内整数执行lambda操作,生成mp
mp = map(lambda x: pow(x,2) , range(6))
#通过list将map类型的变量格式化成列表
ls3 = list(mp)

#迭代输出list中的内容
for data in ls3:
    print(data,end = ' ')
print() #换行
#定义列表li4(通过list传入range)
ls4 = list(range(1,10,2))
#输入出ls4
print(ls4)

#调用内建函数map处理ls3与ls4 生成另一个列表
print('调用内建函数map处理ls3与ls4 生成另一个列表')

#定义函数用于处理列表成员,如果两个列表的成员个数不一样,按照最少的列表数量进程处理
def toolFunc(a,b):
    return a**2 + b**2

mp2 = map(toolFunc,ls3,ls4)  #将两个列表中的成员按照顺序执行toolFunc操作,返回map类型的变量
print(type(mp2))
#打印新生成的列表
print('新生成的列表为:',list(mp2))

#使用内建函数filter()
print('使用呢件函数filter()进行列表分析-----------------------------')
#内建函数filter()的第一个参数是返回bool型的函数,第二个是列表
#例如:使用filter提取列表中的基数
#定义函数
def func__too(x):
    return x % 2
#准备列表使用range()代替
lss = filter(func__too,range(0,50))
print(type(lss))
print(list(lss))

#以上可以使用for进行列表解析
print([w for w in range(0,50) if w % 2])

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值