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

  

原文地址:https://www.cnblogs.com/canneddream/p/14182713.html