python基础之if、while、for语句
1、if语句的基本用法:
1 name = "math" 2 if name == "no": 3 print(88) 4 elif name == "lin": 5 print(77) 6 elif name == "math": 7 print("66") 8 else: 9 print("55")
2、while语句(包括break和continue)与C语言中的类似,值得一提的是else,这个else只有再循环正常结束时才会执行,即没有碰到break语句。
1 x = [1, 2, 3, 4] 2 while x: 3 if x[0] == 3: 4 print(x[0]) 5 break 6 x = x[1:] 7 else: 8 print("not found")
输出结果为:3
continue和break的区别:这两个都是跳出循环;但是continue是跳出单层循环,执行continue之后立刻回到循环的顶端。break语句只要一执行就会立刻跳出循环。
3、for语句是python中的一个通用的序列迭代器,可以遍历字符串、列表、元组、其他的内置可迭代对象以及通过类创建的新对象。for语句跟while语句类似,也有else分支,在没有碰到break的情况下才会执行,下面举例说明:
1 for x in [1, 2, 3, 4]: #遍历列表 2 print(x) 3 4 5 for s in "python": #遍历字符串 6 print(s) 7 8 9 10 T = [(1, 2), (3, 4), (5, 6)] 11 for (a, b) in T: #遍历元组序列 12 print(a, b)
输出:
1
2
3
4
p
y
t
h
o
n
1 2
3 4
5 6
4、在循环语句中、常常使用range()函数,第一个参数表示起点,第二个参数表示终点,第三个参数表示步长;期中第一个和第三个参数可以省略,例如:
1 a = list(range(5)) 2 3 b = list(range(2, 5)) 4 5 c = list(range(0, 10, 2)) 6 7 8 print(a) #[0, 1, 2, 3, 4] 9 print(b) #[2, 3, 4] 10 print(c) #[0, 2, 4, 6, 8]
非完备遍历:
1 S = "abcdefghijk" 2 3 a = list(range(0, len(S), 2)) 4 5 print(a) #[0, 2, 4, 6, 8, 10] 6 7 for i in a: 8 print(S[i], end=" ") #a c e g i k
并行遍历:
1 # zip会取一个或者多个序列为参数,然后返回元组的列表,将这些序列中的并排的元素配成对 2 3 L1 = [1, 2, 3, 4] 4 L2 = [5, 6, 7, 8] 5 6 7 a = list(zip(L1, L2)) 8 print(a) #[(1, 5), (2, 6), (3, 7), (4, 8)] 9 10 for (x, y) in zip(L1, L2): 11 print(x, y, "--->", x+y)
1 # 在python2中内置map函数,用类似的方法配对起来,但是如果参数长度不同,则会为较短的序列用None补齐 2 3 S1 = "abc" 4 S2 = "xyz123" 5 6 map(None, S1, S2) 7 # [('a', 'x'), ('b', 'y'), ('c', 'z'), (None, '1'), (None, '2'), (None, '3')]
1 # 在python3中 map(f, list):把list上面的元素依次作用于f上,并返回一个新的list 2 3 a = list(map(ord, "spam")) 4 print(a) #[115, 112, 97, 109]
1 # enumerate:同时产生偏移量和元素 2 3 S = "spam" 4 for (x, y) in enumerate(S): 5 print(x,"--->", y) 6 ''' 7 输出: 8 0 ---> s 9 1 ---> p 10 2 ---> a 11 3 ---> m 12 '''