【Py】断言、elif()、range()、列表、向列表添加删除元素、列表分片、列表操作符、列表内置函数

断言assert:

当这个关键字后边的条件为假时,程序自动崩溃并提示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()语句:

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():

语法: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]

 

posted @ 2016-03-06 13:47  喜闻乐见小逗逗  阅读(676)  评论(0编辑  收藏  举报