当这个关键字后边的条件为假时,程序自动崩溃并提示AssertionError的异常,条件为真时跳过
1 >>> assert 3>5 2 Traceback (most recent call last): 3 File "<pyshell#1>", line 1, in <module> 4 assert 3>5 5 AssertionError
常用作程序中的置入检查点,当需要确保程序中的某个条件为真才能让程序正常工作时,这个关键字就十分有用
elif的部分可以有也可以没有,else的部分可以有也可以没有,前者是else if的简化,可以减少过分缩排的效果
1 score = int(input('请输入一个分数:')) 2 if 80 > score >= 60: 3 print('C') 4 elif 90 > score >= 80: 5 print('B') 6 elif 60 > score >= 0: 7 print('D') 8 elif 100 >= score >= 90: 9 print('A') 10 else: 11 print('输入错误!')
语法:range([start],stop,[step=1])
这个BIF有三个参数,其中用中括号括起来的两个表示参数可写可不写
作用是生成一个从start参数的值开始到stop参数的值(不含)结束的数字序列,以step为步长
1 >>> range(5) 2 range(0, 5) 3 >>> list(range(5)) 4 [0, 1, 2, 3, 4] 5 >>> for i in range(5): 6 print(i) 7 8 9 0 10 1 11 2 12 3 13 4
1 >>> list(range(2,9)) 2 [2, 3, 4, 5, 6, 7, 8] 3 >>> list(range(2,20,3)) 4 [2, 5, 8, 11, 14, 17]
Python可以在一个列表中存放各种不同的数据类型,包括整数、浮点数、字符串甚至是一个子列表
1 >>> member = ['a',3.14,520,[1,2,3]] 2 >>> member 3 ['a', 3.14, 520, [1, 2, 3]]
列表可以看作以0为下标开始的数组,任何一个非空列表的第一个元素总是list[0]
1 >>> member[0],member[3] 2 ('a', [1, 2, 3])
可以利用负值对列表进行索引
1 >>> member[-1] 2 [1, 2, 3] 3 >>> member[-4] 4 'a'
append()函数增加单个元素到列表的尾部
extend()函数连接列表,使用一个列表参数调用
insert()向列表中插入单个元素,有两个参数需要输入,第一个是要增加的位置注意从0开始,第二个是要插入的元素
1 >>> member = ['A','B','C','D'] 2 >>> member.append('E') 3 >>> member 4 ['A', 'B', 'C', 'D', 'E'] 5 6 >>> member.extend(['F','G','H']) 7 >>> member 8 ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] 9 10 >>> member.insert(0,'a') 11 >>> member 12 ['a', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
remove()参数是函数的名字,除去函数中第一次出现的值
del lis[1]或del lis,前者删去特定位置的值,后者删去整个列表
pop()在列表中将元素删去,并将被删元素返回,参数为元素位置,如果没有参数默认除掉最后一个元素
pop()和lis[-1]的区别:后者返回一个值但不会改变列表
pop()和remove('')的区别:后者改变列表但不返回值
1 >>> member = ['A','A','B','C','D','E'] 2 >>> member.remove('A') 3 >>> member 4 ['A', 'B', 'C', 'D', 'E']
1 >>> del member[3] 2 >>> member 3 ['A', 'B', 'C', 'E'] 4 >>> del member 5 >>> member 6 Traceback (most recent call last): 7 File "<pyshell#10>", line 1, in <module> 8 member 9 NameError: name 'member' is not defined
1 >>> member = ['A','A','B','C','D','E'] 2 >>> number = member.pop(1) 3 >>> member 4 ['A', 'B', 'C', 'D', 'E'] 5 >>> number 6 'A' 7 >>> number = member.pop() 8 >>> member 9 ['A', 'B', 'C', 'D'] 10 >>> number 11 'E'
通过指定列表的两个索引得到列表的子集,返回值是一个新的列表,包含从第一个索引到第二个索引之前
1 >>> list = [1,3,5,7,9,11] 2 >>> list1 = list[1:3] 3 >>> list1 4 [3, 5] 5 >>> list2 = list[:3] 6 >>> list2 7 [1, 3, 5] 8 >>> list3 = list[3:] 9 >>> list3 10 [7, 9, 11]
负数索引分片,可以看作是从左向右阅读列表,第一个索引指定了想要的第一个元素,第二个索引指定了不想要的第一个元素
1 >>> list4 = list[-5:-1] 2 >>> list4 3 [3, 5, 7, 9] 4 5 >>> list5 = list[2:-2] 6 >>> list5 7 [5, 7]
如果两个分片索引均省略,则返回与原列表一样的一个新列表
1 >>> list1 = [1, 3, 2, 9, 7, 8] 2 >>> list2 = list1[:] 3 >>> list2 4 [1, 3, 2, 9, 7, 8] 5 >>> list3 = list1 6 >>> list3 7 [1, 3, 2, 9, 7, 8] 8 #似乎list2和list3一样 9 10 >>> list1.sort() #对list1进行排序 11 >>> list1 12 [1, 2, 3, 7, 8, 9] 13 >>> list2 14 [1, 3, 2, 9, 7, 8] 15 >>> list3 16 [1, 2, 3, 7, 8, 9]
列表分片步长设置:
1 >>> list = [1,2,3,4,5,6,7,8,9] 2 >>> list1 = list[::2] 3 >>> list1 4 [1, 3, 5, 7, 9] 5 >>> list[1:-2:2] 6 [2, 4, 6]
比较操作符:从第0个元素开始比较
1 >>> list1 = [123,456,789] 2 >>> list2 = [223,456,789] 3 >>> list1 > list2 4 False
逻辑操作符:先对列表进行比较,再进行逻辑运算
1 >>> list1 = [123,456] 2 >>> list2 = [456,123] 3 >>> list3 = [123,456] 4 >>> (list1<list2) and (list1==list3) 5 True
连接操作符:通过符号+来进行连接,+号两边必须都是列表
1 >>> list1 = [1,2,3] 2 >>> list2 = [4,5,6] 3 >>> list3 = list1 + list2 4 >>> list3 5 [1, 2, 3, 4, 5, 6]
重复操作符:以*进行列表中的元素重复操作
1 >>> list4 = list3 * 3 2 >>> list4 3 [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
成员关系操作符:通过in 和not in判断参数是否在列表中
1 >>> list = [123,456] 2 >>> 123 in list 3 True 4 >>> 123 not in list 5 False
通过dir(list)可以查询列表中有哪些内置函数
1 >>> dir(list) 2 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
clear():用于删除列表中的所有元素产生一个空列表
1 >>> list = [1,2,3] 2 >>> list.clear() 3 >>> list 4 []
copy():功能上等于列表分片中的list2 = list1[:],要与=区别开,前者是在内存中重新申请一个空间并存放列表的值,而=是将列表的地址赋值给另一个列表
1 >>> list1 = [1,2,3] 2 >>> list2 = list1.copy() 3 >>> list3 = list1 4 >>> list1.append(4) #注意不能对list1重新赋值,只能在原有列表上操作 5 >>> list2 6 [1, 2, 3] 7 >>> list3 8 [1, 2, 3, 4]
count():统计所需参数在列表中出现的次数
index():寻找所输入参数在列表中的第一个位置并返回该位置值,还有两个参数可以确定寻找该值的列表范围
1 >>> list = [1,2,4,5,4,6,3,2,6,2,1,5,8] 2 >>> list.index(5) 3 3 4 >>> list.index(4,12) 5 >>> list.index(5,4,12) 6 11
reserve():将列表中所有元素倒置
sort():三个函数值,前两个分别是指定排序算法和算法搭配的关键字,默认即可,第三个默认状态是reverse=False,sort按照从小到大排序,从大到小将reverse=True
1 >>> list = [1,4,2,65,34,22,12,56] 2 >>> list.sort() 3 >>> list 4 [1, 2, 4, 12, 22, 34, 56, 65] 5 >>> list.sort(reverse = True) 6 >>> list 7 [65, 56, 34, 22, 12, 4, 2, 1]