python中迭代是什么意思,python实现迭代

  python中迭代是什么意思,python实现迭代

  给定一个列表或元组,我们可以通过一个for循环遍历该列表或元组,这称为迭代。

  在Python中,迭代是由for完成的.在中,而在许多语言中,如C,迭代列表是由下标完成的,如Java代码:

  for(I=0;ilist.lengthi ){

  n=列表[I];

  }可以看出Python的for循环比C的for循环更抽象,因为Python的for循环不仅可以用在list或tuple上,还可以用在其他可迭代对象上。

  尽管列表数据类型有下标,但许多其他数据类型没有下标。但是,只要它是一个可迭代的对象,无论有没有下标都可以迭代。例如,dict可以迭代:

  d={a:1, b:2, c:3}

  forkeyind:

  .打印(键)

  .

  a

  c

  因为b dict的存储不是按照链表的顺序,所以迭代结果的顺序很可能不一样。

  默认情况下,dict迭代键。如果要迭代value,可以在d.values()中使用for value。如果要同时迭代key和值,可以在d.items()中使用for k,v。

  由于字符串也是可迭代对象,它们也可以作用于for循环:

  forchinABC:

  .打印(ch)

  .

  A

  B

  所以,我们在使用for循环的时候,只要作用在iterable对象上,for循环就可以正常运行,我们并不太在乎对象是列表还是其他数据类型。

  那么,如何判断一个对象是否是迭代对象呢?该方法由集合模块的可迭代类型来判断:

  fromcollectionsimportIterable

  isinstance(abc ,Iterable)#str iterable?

  真实的

  isinstance ([1,2,3],iterable) # list是否可迭代?

  真实的

  isinstance(123,Iterable)# integer是否可迭代?

  真一个假的小问题,如果你想在链表上实现一个类似Java的下标循环呢?Python内置的enumerate函数可以将一个列表变成一个索引-元素对,这样索引和元素本身就可以在for循环中同时迭代:

  fori,valueinenumerate([A , B , C]):

  .打印(I,值)

  .

  得一个例子

  1B

  在2C以上的for循环中,同时引用了两个变量,这在Python中是很常见的,比如下面的代码:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: