python 语法笔记(二)
1.使用list和tuple
list
list里面的元素的数据类型也可以不同,比如:
>>> L = ['Apple', 123, True]
list是一种有序的集合,可以随时添加和删除其中的元素。
>>> classmates = ['alice', 'Joker', 'Tracy'] >>> classmates ['Michael', 'Joker', 'Tracy']
用len()
函数可以获得list元素的个数:
>>> len(classmates)
3
list元素也可以是另一个list,比如:
>>> s = ['python', 'java', ['asp', 'php'], 'scheme'] >>> len(s) 4
list 查:
用索引来访问list中每一个位置的元素
#索引是从0开始的,索引不能超出范围 >>> classmates[0] 'alice' >>> classmates[1] 'Joker' >>> classmates[2] 'Tracy' #还可以用-1做索引,直接获取最后一个元素: >>> classmates[-1] 'Tracy'
list 增:
list是一个可变的有序表,所以,可以往list中追加元素:
#追加元素到末尾: >>> classmates.append('Adam') >>> classmates ['alice', 'Joker', 'Tracy', 'Adam'] #插入到指定的位置 >>> classmates.insert(1, 'Jack') >>> classmates ['alice', 'Jack', 'Joker', 'Tracy', 'Adam']
list 删:
删除list的元素,用pop()
方法:
#删除list末尾 >>> classmates.pop() 'Adam' >>> classmates ['Michael', 'Jack', 'Joker', 'Tracy'] #删除指定位置 >>> classmates.pop(1) 'Jack' >>> classmates ['Michael', 'Bob', 'Tracy']
list 改:
把某个元素替换成别的元素
#直接赋值给对应的索引位置
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法,比如同样是列出同学的名字:
>>> classmates = ('Michael', 'Bob', 'Tracy')
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,比如:
>>> t = (1, 2) >>> t (1, 2)
只有1个元素的tuple定义时必须加一个逗号,
>>> t = (1,)
>>> t
(1,)
最后来看一个“可变的”tuple:
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
2.条件判断
if else 语句判断
#简写 if x: print('True') age = 3 if age >= 18: print('your age is', age) print('adult') else: print('your age is', age) print('teenager')
elif
是else if
的缩写,完全可以有多个elif
,所以if
语句的完整形式就是:
#完整形式 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> #例 age = 20 if age >= 6: print('teenager') elif age >= 18: print('adult') else: print('kid')
条件判断从上向下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行。
3.循环
Python的循环有两种
一种:for...in循环
依次把list或tuple中的每个元素迭代出来,看例子:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
#会依次打印names
的每一个元素:
Michael
Bob
Tracy
再比如我们想计算1-10的整数之和,可以用一个sum
变量做累加:
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
如果要计算1-100的整数之和,从1写到100有点困难,Python提供一个range()
函数,range(5)
生成的序列是从0开始小于5的整数:
>>> list(range(5))
[0, 1, 2, 3, 4]
第二种:while循环
只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现
在循环内部变量n
不断自减,直到变为-1
时,不再满足while条件,循环退出:
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)
break
在循环中,break
语句可以提前退出循环。例如,本来要循环打印1~100的数字:
n = 1 while n <= 100: if n > 10: # 当n = 11时,条件满足,执行break语句 break # break语句会结束当前循环 print(n) n = n + 1 print('END')
continue
用continue
的作用是提前结束本轮循环,并直接开始下一轮循环:
n = 0 while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶数,执行continue语句 continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行