您的位置:首页 > 编程语言 > Python开发

python小例子之9 -- for语句的72变

2010-01-04 00:00 501 查看
主题: for语句的72变

环境: winvista(64) + sp2 + python2.5

备注: 请注意,凡是在源代码文件中使用了中文字符,请最好保存为utf-8格式,以下所有的代码片段实际上前后关联的,最好保存为一个文件来使用

说明: python作为一种动态脚本语言,非常灵活,这篇文章对于常用for ... in ...语句做了个小结,如果你有新的有关for...in...语句的用法,欢迎与我交流,对于程序员来说,最好的方法就是代码。

代码1:
# 遍历字典
var1 = {'key1':'abc', 'key2':23, 'key3':(23, 24)}
for k, v in var1.items():
print k, v
print '\r\n'

结果1:

key3 (23, 24)

key2 23

key1 abc

代码2:

# 遍历列表
var2 = [1, 2, 3]
for v in var2:
print v

结果2:

1

2

3

代码3:

# 遍历元组
var3 = (1,2,3,4)
for v in var3:
print v

结果3:

1

2

3

4

代码4:

# 遍历字符串的每个字符
var4 = 'string'
for c in var4:
print c

结果4:

s

t

r

i

n

g

代码5:

# 对每个元素处理后生成新集合的写法
var5 = [v+1 for v in var3]
print var5


结果5:

[2, 3, 4, 5]

代码6:

# 把集合var2的每个元素的值依次叠加到集合var3的每个元素的值上
var6 = [v1+v2 for v1 in var2 for v2 in var3]
print var6
var7=[]
for v1 in var2:
for v2 in var3:
var7.append(v1+v2)
print var7


结果6:

[2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7]

[2, 3, 4, 5, 3, 4, 5, 6, 4, 5, 6, 7]

代码6这个片段中,后面的嵌套循环等价于第一行的写法

代码7:

var8 = [(2,3,3), (5,6,6), (4,5,5)]
for v1, v2, v3 in var8:
print v1, v2, v3


结果7:

2 3 3

5 6 6

4 5 5

代码8:

var9 = (1, -2, 4, 5, -1)
var10 = [v for v in var9 if v > 0]
print var10


结果8:

[1, 4, 5]

这种方式实际上可以对集合中的元素进行条件过滤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: