博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
循环——批量处理数据
阅读量:6567 次
发布时间:2019-06-24

本文共 2210 字,大约阅读时间需要 7 分钟。

一、循环的意义

  1、我们使用循环来做重复的事情,从而达到效率的提升。

  2、在Python中有两种类型的循环,第一种叫做for循环(for-loop),第二种叫做while循环(while-loop)。从实际使用上来说,while循环在Python开发中并不常见,需要使用while循环的地方我们也可以使用for循环来进行模拟,从而达到同样的效果。

  3、for循环一般和批量的处理数据是分不开的,for循环把一堆数据中的每一个都按照特定的规则进行重复处理。

二、认识循环

for i in [1,2,3]:    print(i)

 

  1、在编程中,当我们使用一个来自于集合体的东西, 并且它能够一次次的被取出直至产生它的集合体被耗尽,那么 我们通常认为这描述的是 【可迭代对象】(iterable)的特征,也就是我们所说的一堆数据。

  2、想要使用 for循环,就一定需要一个可迭代对象作为被循环的主体。前面提到的容器类型的数据全部都是可迭代的对象(光从名字就不难猜出),但是实际上在 Python 还有更多的可迭代对象,我们可以使用 iter() 函数来判断是否是可迭代对象——作为参数放进去不报错,那说明就是可迭代的,就可以被用于 for 循环;如果报错了就不是可迭代的。

  3、i 可以称为循环变量(loop variable)。

for i in container:    do something

  (1)每一个数据在使用的时候会有名字(变量赋值)。

  (2)每一个数据在被使用的时候都按照统一的名字(变量名)进行操作。

  (3)被操作完的数据就不再拥有这个名字,但最后一个元素除外(i=last)。

  4、do something

  我们对循环中数据的处理规则全部写在换行后的缩进里面,无论是像是变量赋值或者还是调用函数在或者其他的事情,所有在缩进里的代码全部会被认为是要在这一次循环中做的事情。循环会在可迭代对象中数据全部被访问过的时候停止,除非我们在这之前使用另外的语句叫停。

三、循环的4个应用场景

  1、使用可迭代对象中的数据

  在实际的开发中,经常会将容器中的数据全部作为原料使用。

  比如像是发送消息给所有的用户这样的行为,这其中的批量处理是怎样实现的呢?实际上是给一个相当于【信息发送机】的函数批量的提供要发送的用户名和内容,从而实现循环调用函数。

users = [    'Frank Zappa',    'Terry Bozzio',    'Adrian Bwlew']for user in users:  # send_message(user,'Hello')    print('hello,'+user)

 

  使用爬虫获得每一个页面的信息的时候,是一次打开并保存列表中的每一个网址。

urls = [    'www.a.com',    'www.b.com',    'www.c.com']for url in urls:    full_url = 'http://'+url    # web = open(full_url)    # web.save()    print(full_url)

 

 

  2、构造/整理容器内的数据

  有时候容器里的数据本身是不规整的,或者是有一些不想要的数据,这时候用循环就可以很方便的批量清洗数据,把容器中的数据进行过滤和重组之后再使用。

albums_list = [    'reuion',    'lefttoverture',    'machine head']new_list = []for album in albums_list:    # capitalize()将字符串的第一个字母变成大写,其他字母变小写。    new_name = album.capitalize()    new_list.append(new_name)    print(new_list)

 

  3、嵌套多重循环

  多重循环就是在循环中进行循环,这么做的原因是,有时候我们在同一时间处理多个嵌套的数据结构,也就是可迭代对象中的每一个元素仍然是可迭代的,这种循环常见于数据库类型的对象中查询或者是修改单位数据。

album = [    [        'Good Times Bad Times',    ],    [        'Your Time Is Gonna Come'        'Black Mountain Side'    ]]for Side in album:    for song in side:        print(song)

 

  4、循环中的条件分支

  将条件中的数据进行分类和筛选也是常见的一种操作行为,但是这不可避免的要使用到条件判断语句作为分支的筛选器。

  for + if 

四、总结

  “把一堆数据中的每一个都按照特定的规则进行重复处理。”

for i in container:    do something

  1、使用可迭代对象中的数据

  2、构造/整理容器内的数据

  3、嵌套多重循环

  4、循环中的条件分支

 

转载于:https://www.cnblogs.com/Lamfai/p/9332225.html

你可能感兴趣的文章
Ymal格式转Properties格式
查看>>
一个生成全局唯一Sequence ID的高并发工厂类 (Java)
查看>>
调优之系统篇--cpu,内存
查看>>
解决jQuery和其它库的冲突
查看>>
写在除夕夜
查看>>
JAVA中的list去重复
查看>>
记录:开始整合以前的微信预约与内部系统,进行一体化管理。
查看>>
对于shell脚本获取参数的一些小技巧
查看>>
oracle 更改ip
查看>>
Android 事件分发 简单学
查看>>
JAVA 代码里中文乱码问题
查看>>
Grub的安装方法
查看>>
SpringMVC通过注解方式读取properties文件中的值
查看>>
Spring+Dubbo+Zookeeper简单框架与使用
查看>>
Open Cascade DataExchange DXF
查看>>
Greenplum Hadoop分布式平台大数据解决方案实战教程
查看>>
编译安装LAMP之配置httpd以FastCGI方式与php整合
查看>>
Haproxy
查看>>
老李分享:HTTP协议之请求和响应
查看>>
性能调优之Java系统级性能监控及优化
查看>>