標籤:
我們接著講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,枚舉列舉的意思。
python代碼縮排和迴圈語句2