Python|Python核心技术——循环与迭代是编程的基本功

Python|Python核心技术——循环与迭代是编程的基本功

文章图片



循环语句
循环语句本质上就是遍历集合中的元素 。 和其他语言一样 , Python 中的循环主要有 for 循环和 while 循环 。 前者用于执行逻辑循环;后者偏向对象内容迭代
比如 , 我们有一个列表 , 需要遍历列表中的所有元素并打印输出 , 代码如下:


  • 【Python|Python核心技术——循环与迭代是编程的基本功】l = [1 2 3 4
    # 从可迭代对象中依次获取元素for item in l:print(item)
  • 1234
很多时候 , for 循环和 while 循环可以互相转换 , 比如要遍历一个列表 , 我们用 while 循环同样可以完成:

  • l = [1 2 3 4
    # 基于特定条件 , 循环执行命令length=len(l)while length>0:print(l[4-length
    )length-=1
是不是很简单呢?其实 , Python 中的数据结构只要是可迭代的(iterable) , 比如列表、元组、集合等等 , 对列表的遍历如下:

  • for ab in [(12)(34)
    :print(ab)
  • 1 23 4
注意:字典本身只有键是可迭代的 , 如果我们要遍历它的值或者是键值对 , 就需要通过其内置的函数 values() 或者 items() 实现 。 其中 , values() 返回字典的值的集合 , items() 返回键值对的集合 。
遍历字典的键

  • d = {'name': '小码农和农夫' 'date': '2023-01-13' 'gender': '男'for k in d:print(k)
  • namedategender
遍历字典的值

  • for v in d.values():print(v)
  • 小码农和农夫2023-01-13男
遍历字典的键值对

  • d = {'name': '小码农和农夫' 'date': '2023-01-13' 'gender': '男'for kv in d.items():print('key: { value: {'.format(k v))
  • key: name value: 小码农和农夫key: date value: 2023-01-13key: gender value: 男
你也许会问 , 有没有办法通过集合中的索引来遍历元素呢?当然可以 , 其实这种情况在实际工作中还是很常见的 , 甚至很多时候 , 我们还得根据索引来做一些条件判断 。
我们通常通过 range() 这个函数 , 拿到索引 , 再去遍历访问集合中的元素 。 比如下面的代码 , 遍历一个列表中的元素 , 当索引大于 5 时 , 打印输出:

  • l = [1 2 3 4 5 6 7
    for index in range(0 len(l)):if index > 5:print(l[index

  • 7
enumerate()
当需要同时索引和元素时 , 采用上面的方式会复杂一下 。 Python中内置了一个函数 enumerate() , 用它来遍历集合 , 不仅返回每个元素 , 并且还返回其对应的索引 。

  • l = [1 2 3 4 5 6 7
    for indexitem in enumerate(l):if index > 5:print('key: { value: {'.format(index item))
  • key: 6 value: 7
continue 和 break在循环语句的使用