zoukankan      html  css  js  c++  java
  • python——迭代

    迭代

     

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

    2.  在python中,迭代是通过 for ... in ... 来实现的,在Java或C中,迭代通过 for(i=0;i<=list.length;i++){x=list[i];}来实现的,需要用到迭代对象的下标

    3.  在python中,迭代对象不需要用到下标,只要是可迭代对象,无论有无下标,都可迭代

    迭代一个list:

    >>> for x in [0,1,2,3,4,5]:
    	print(x)
    
    	
    0
    1
    2
    3
    4
    5
    

      

    迭代一个字符串:

    #在这里,x表示字符串里的单个字符,也可以用y,z等表示字符串里的字符
    >>> for x in 'abcde':
    	print(x)
    
    	
    a
    b
    c
    d
    e
    

      

    迭代一个dict:

    #先定义一个dict
    >>> d={'a':1,'b':2,'c':3}
    #默认情况下,迭代的是d中的key
    >>> for key in d:
    	print(key)
    
    	
    a
    b
    c
    #迭代d中的value
    >>> for value in d.values():
    	print(value)
    
    	
    1
    2
    3
    #迭代d中的key和value
    >>> for k,v in d.items():
    	print(k,v)
    
    	
    a 1
    b 2
    c 3
    

      

    4.  怎样判断一个对象是不是可迭代对象:

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

    如:

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

      

    5.实现下标循环,可用python中内置的 enumerate 函数,把一个list变成 索引-元素对

    如:

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

      

    6.  for循环中同时引入两个变量

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

      

  • 相关阅读:
    对silverlight布局进行控制,使其居中显示,适用于不同的分辨率
    图(邻接表链表和边表)
    LINUX下GCC编译sqrt函数问题
    图(邻接矩阵)
    表达式树
    赫夫曼树
    N的阶乘中末尾有几个0
    走迷宫
    HDU1863畅通工程(最小生成树 Kruskal)
    KMP算法
  • 原文地址:https://www.cnblogs.com/canneddream/p/14182713.html
Copyright © 2011-2022 走看看