循环——批量处理数据

一、循环的意义

  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、循环中的条件分支

 

posted @ 2018-07-18 21:51  Lamfai  阅读(1724)  评论(0编辑  收藏  举报