我们接着讲for函数。
range()函数和len()函数常常一起用于字符串索引,这里我们要显示每一个的元素及其索引值。
#小插曲,在cmd中,清除屏幕的方法是输入cls,即 clean screen。
让我们分析一下这个语句。
foo=‘abc‘
for i in range(len(foo)):
print foo[i],‘%d‘%i #值得注意的地方是,这个%d,的后面,要加个%i,意思是,%d要从i里面取值。 [称作格式化输出。]
a ‘0‘
b ‘1‘
c ‘2‘
先输出a,我们要理解foo[i]是什么意思。当我们给foo赋了一个字符串值,那么foo[0]=a,foo[1]=b,foo[3]=c,,这个时候,len(foo)相当于3,因此,i先赋到的值是0,因此
foo[i]=foo[0]=a
后面依次类推。
这个我们已经学了比较就,那么,什么情况,这个代码有什么缺点吗,书中说到,上面的程序中循环了索引,没有循环元素,那么怎么办呢?
python2.3有了新增的一个函数。
关于enumerate()函数:
通过help函数,可以知道
python代码缩进和循环语句
C:\Users\lege>python
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> help(enumerate)
Help on class enumerate in module __builtin__:
class enumerate(object)
| enumerate(iterable[, start]) -> iterator for index, value of iterable
|
| Return an enumerate object. iterable must be another object that supports
| iteration. The enumerate object yields pairs containing a count (from
| start, which defaults to zero) and a value yielded by the iterable argument.
| enumerate is useful for obtaining an indexed list:
| (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
|
| Methods defined here:
|
| __getattribute__(...)
| x.__getattribute__(‘name‘) <==> x.name
|
| __iter__(...)
| x.__iter__() <==> iter(x)
|
| next(...)
| x.next() -> the next value, or raise StopIteration
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
>>>
>>>
首先,它的意思是enumerate,枚举列举的意思。
原文:http://www.cnblogs.com/legexuexi/p/4492619.html