前文提到:字符串,列表或元组对象都可用于创建迭代器。
字符串(Strings):
普通的旧字符串也是可迭代的。
for s in"hello":
print s
输出结果为:
h
e
l
l
o
列表(Lists):
这些可能是最明显的迭代。
for x in[None,3,4.5,"foo",lambda:"moo",object,object()]:
print"{0} ({1})".format(x,type(x))
输出结果为:
None (<type 'NoneType'>)
3 (<type 'int'>)
4.5 (<type 'float'>)
foo (<type 'str'>)
<function<lambda> at 0x7feec7fa7578> (<type 'function'>)
<type 'object'> (<type 'type'>)
<objectobject at 0x7feec7fcc090> (<type 'object'>)
元组(Tuples):
元组在某些基本方面与列表不同,注意到以下示例中的可迭代对象使用圆括号而不是方括号,但输出与上面列表示例的输出相同。
for x in(None,3,4.5,"foo",lambda:"moo",object,object()):
print"{0} ({1})".format(x,type(x))
输出结果为:
None (<type 'NoneType'>)
3 (<type 'int'>)
4.5 (<type 'float'>)
foo (<type 'str'>)
<function<lambda> at 0x7feec7fa7578> (<type 'function'>)
<type 'object'> (<type 'type'>)
<objectobject at 0x7feec7fcc090> (<type 'object'>)
字典(Dictionaries):
字典是键值对的无序列表。当您使用for循环遍历字典时,您的虚拟变量将使用各种键填充。
d ={
'apples':'tasty',
'bananas':'the best',
'brussel sprouts':'evil',
'cauliflower':'pretty good'
}
for sKey in d:
print"{0} are {1}".format(sKey,d[sKey])
输出结果为:
brussel sprouts are evil
apples are tasty
cauliflower are pretty good
bananas are the best
也许不是这个顺序,字典是无序的!!!