Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5708124
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: Python/Ruby

2006-07-21 11:22:40

Python 中的for 语句和C 或Pascal 中的略有不同。通常的循环可能会依据一个等差数值步进过程
(如Pascal)或由用户来定义迭代步骤和中止条件(如C ),Python 的for 语句依据任意序列(链表或
23
字符串)中的子项,按它们在序列中的顺序来进行迭代。例如(没有暗指):
>>> # Measure some strings:
... a = [’cat’, ’window’, ’defenestrate’]
>>> for x in a:
... print x, len(x)
...
cat 3
window 6
defenestrate 12

在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要
修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。通常使用切片标识就可以很方便的做到
这一点:
>>> for x in a[:]: # make a slice copy of the entire list
... if len(x) > 6: a.insert(0, x)
...
>>> a
[’defenestrate’, ’cat’, ’window’, ’defenestrate’]

阅读(2320) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~