码迷,mamicode.com
首页 > 其他好文 > 详细

for XX in XX结构

时间:2017-05-29 17:20:30      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:执行   obj   print   默认   style   序列   结果   指针   循环   

这是一个循环!!

in 后面可跟range,enumerate,序列等

1 for i in [(1,2),(2,3),("gege",5)]:
2     print (i)

执行结果:

(1, 2)
(2, 3)
(gege, 5)

对上面的代码稍加改动:

1 for i,j in [(1,2),(2,3),("gege",5)]:
2     print (i)
3     print (j)

执行结果:

1 1
2 2
3 2
4 3
5 gege
6 5

in后还可跟enumerate,enumerate返回一个enumerate对象

该对象可迭代,有指针功能,这个指针的特性类似于文件(读取文件的时候,f.read()只能读一行,读完一行,文件的指针指向下一行,再次执行f,read(),

就又读取一行,文件指针指向下一行)

 1 a = enumerate([(1,2),(2,3),("gege",5)])
 2 print (type (a))
 3 print (a)
 4 print("##############################")
 5 for i,j in a:
 6     print (i)
 7     print (j)
 8 print("$###############################")
 9 for b in a:
10     print (b)
11 print("$###############################")
12 for c in enumerate([(1,2),(2,3),("gege",5)]):
13     print (c)
14 
15 b = range(3)
16 print (b)
17 print (type(b))
18 for i in b:
19     print (i)

执行结果:

 1 <class enumerate>
 2 <enumerate object at 0x01FCA620>
 3 ##############################
 4 0
 5 (1, 2)
 6 1
 7 (2, 3)
 8 2
 9 (gege, 5)
10 $###############################
11 $###############################
12 (0, (1, 2))
13 (1, (2, 3))
14 (2, (gege, 5))
15 range(0, 3)
16 <class range>
17 0
18 1
19 2

for前面可跟函数,如果前面跟函数,那么整个语句要用[]修饰,整个语句返回的是函数的返回值

1 b = [print(i) for i in range(10)]
2 print ("###########################")
3 print (b)

执行结果:

 1 0
 2 1
 3 2
 4 3
 5 4
 6 5
 7 6
 8 7
 9 8
10 9
11 ###########################
12 [None, None, None, None, None, None, None, None, None, None]

print函数的返回值是None,默认我们定义的函数,如果没有定义返回值,则默认为None

1 >>> print(print(3))
2 3
3 None

 

for XX in XX结构

标签:执行   obj   print   默认   style   序列   结果   指针   循环   

原文地址:http://www.cnblogs.com/saolv/p/6918265.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!