#python入门5#高级特性--迭代

如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)

Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象
list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代:

  >>> d={'a':1, 'b': 2, 'c':3}
  >>> for key in d:
  ...          print(key)
c
b
a
  • 因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样
    默认情况下,ditc迭代的是key,如果要迭代value,则:

for value in d.values()

如果要同时迭代key 和 value,则:

for k,v in d.items()

字符串对象也是可迭代对象:

  for ch in 'abc':
       print(ch)

a
b
c
判断可迭代对象

通过collections模块的Iterable类型判断:

  >>> from collections import Iterable
  >>> isinstance('abc', Iterable) #str是否可迭代
True
  >>> isinstance([1,2,3], Iterable) #list是否可迭代
True
  >>> isinstance(123, Iterable) #整数是否可迭代
False

如果要对list实现类似java那样的下标循环,可以使用python内置的enumerate函数来把list变成 索引-元素 对, 即:

  >>> for i, value in enumerate(['a', 'b', 'c']):
                print(i, value)

0 a
1 b
2 c

在for循环里,同时引用2个变量,在python里很常见

  >>> for x,y in [(1,1), (2,4), (3,9)]:
        print(x, y)

1 1
2 4
3 9
学习来源于廖雪峰教程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容