1、for循环 遍历序列,如一个列表或一个字符 for x in 'abcd': 或[a.b.c.d] print "hello word!" 会输出四次 2、使用迭代 range函数 range(i,j,[,步进值]) 如果创建的对象为整数,可以使用range >>>range(10) 输出0到9 for x in range(100): print "hello word" 输出100次 给range赋值 for x in range(1,11): 不包含11 print x 输出1到10 for x in range(1,10,2) print x 输出1,3,5,7,9 例子: num=0 for x in range(1,101): num+=x print num 3、遍历 直接遍历:字符串、列表、元组 for x in "hello": print x 迭代:range函数 s=“hello” fox x in range(len(s)): print s[x] 遍历字典 d={1:111,2:222,5:555,3:333} for x in d: print x #只能获取key无法获得value print d[x] #取出value print d.items() #返回一个key-value的元组 拆分字典然后遍历,将key和value分开取出 for k,v in id.tems(): print k print v 4、循环控制 for for x in range(200): print x time.sleep(1) else: print "ending" 如果for循环正常执行,else语句也会执行,当for循环意外终止或breake时,else不会执行 break结束循环 for x in range(1,5): print x if x == 2: print "hello 22222" break print "#"*20 输出:结束循环 1 #################### 2 hello 22222 continux本次循环 for x in range(1,4): print x if x == 2: print "hello 22222" continue print "#"*20 输出:会结束本次循环而进行下次循环 1 #################### 2 hello 22222 3 #################### pass起到占位的作用:代码桩 5、循环控制 while while循环,直到表达式变为假,防止死循环(要有结束条件) while 1: print "hello" x = raw_input("please input somethig,q for quit:") #使用输入条件和break来结束 if x == "q": break x = "" while x != "q": #通过while的循环条件结束循环 print "hello" x = raw_input("please input somethig,q for quit:") while也可以使用else语句 x = 0 while x != "q": print "hello" x = raw_input("please input somethig,q for quit:") #使用q来退出 if not x: #空值也结束 break else: print "ending...." 6、一些迭代工具 打印名字和年龄的对应关系 names = ['jason','herry','jack',] ages = [25,26,43] for i in range(len(names)): print names[i], 'is' , ages[i], 'years old' zip行数的并列迭代 zip(names, ages) for names, ages in zip(names,ages): print naem, 'is', age, 'years old' 7、轻量级循环 X的平方 >>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 能被3整除的平方数 >>> [x*x for x in range(10) if x % 3 == 0] [0, 9, 36, 81] 8、三人行 pass、del、exec >>> if name == 'jason jack': ... print '1' ... elif name == 'tom': ... pass ... 起到占位符的作用,在python中空的代码块是非法的,可以使用pass代替。 >>> scoundrel = {'age':28,'first name':'jason','last name':'of lost'} >>> robin = scoundrel >>> scoundrel {'last name': 'of lost', 'first name': 'jason', 'age': 28} >>> robin {'last name': 'of lost', 'first name': 'jason', 'age': 28} >>> scoundrel = none >>> scoundrel >>> >>> robin {'last name': 'of lost', 'first name': 'jason', 'age': 28} >>> del robin >>> robin Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'robin' is not defined del和None都可以直接将字典删除,del将对象的引用和名字本身都移除。 exec、eval执行和求值字符串 |
|
来自: jas0n_liu > 《python学习笔记》