【6】python代码缩进和循环语句2

本文详细介绍了Python中使用range()与len()函数进行字符串索引的方法,并对比了传统索引方式与enumerate()函数的不同之处。通过实例演示了如何高效地遍历序列及其索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们接着讲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,枚举列举的意思。

 

foo='abc'

for i,ch in enumerate(foo):

  print ch,'(%d)'%i

a '0'

b '1'

c '2'

结果和上面的一样,我就不理解有什么区别,学到以后就知道了。

但是先要猜测一下到底是如何理解这个程序的运行。通过百度一下,终于知道为什么了

enumerate 函数用于遍历序列中的元素以及它们的下标:先遍历下标,然后遍历元素,,真的不错。

更多:enumerate函数

 

转载于:https://www.cnblogs.com/legexuexi/p/4492619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值