第十课.列表常用操作符

比较操作符

可以看到,只要a中第一个元素比b中第一个元素大,后面的都不比较,直接告诉你a>b,这点和C语言的字符串比较是一样的(字符串比较ASCII)

 

逻辑操作符

连接操作符

 

+这个运算符只能用于两个列表元素类型都相同的情况,如果要给列表添加元素,最好用前面讲到的三种方法

 

重复操作符

*3不会改变原有的列表内容,只有*=才会改变

 

成员关系操作符

123在列表c中,则返回ture,321不在c中,所以返回false

再看这种列表中包含列表的情况,可以看到in不能判断列表中的列表,只能在“根目录”这一层进行操作,要想判断这种情况,必须手动改加索引

这类似于C中访问二维数组

 

 

查看关于列表操作的BIF(内置函数)有多少个,我们在前几课学过dir这个命令,现在派上用场

 

接下来学习一下count这个BIF,它的作用是 计算列表中的参数在列表中出现的次数

注意上方箭头处容易出错的地方,如果不明白为什么第一次会显示次数为1,那么请再重新看一遍此文章

 

 

 

 

 

 

 

 

Index是索引的意思,可以返回元素在列表中的位置,第二个和第三个参数是范围,表示从3开始,到8结束这个范围内参数1所出现的位置,不多说,看图就明白了

 

 

Reverse是让列表翻转(没有参数)

 

Func和key

Sort是比较重要的一个BIF,它的功能是给列表从小到大排序

其实sort是有参数的,sort(Func,key,reverse) Func是排序的算法,默认为归并排序,key为函数,指定取待排序元素的哪一项进行排序,默认为全部,reverse实现降序排序,需要提供一个布尔值,默认为False(升序排列)

 

下面为本讲的重点

如图,ca的一个标签,就像C++中的引用传递一样,只是一个别名,但是ba的一个拷贝,这就说明了分片的重要性了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

课后题

1. 请问如何将下边这个列表的'学逆向'修改为'恒深析'?

  1. list1 = [1, [1, 2, ['学逆向']], 3, 5, 8, 13, 18]
  2. list1[1][2][0] = '恒深析'

 

 

2. 列表还有两个内置方法没给大家介绍,不过聪明的你应该可以自己摸索使用的门道吧:copy() 和 clear()
  
copy()
方法跟使用切片拷贝是一样的:

  1. >>> b = a.copy()
  2. >>> list2
  3. [1, [1, 2, ['恒深析']], 3, 5, 8, 13, 18]


clear() 方法用于清空列表的元素,但要注意,清空完后列表仍然还在哦,只是变成一个空列表。

  1. >>> b.clear()
  2. >>> b
  3. []

 

猜你喜欢

转载自blog.csdn.net/qq_41917908/article/details/84640894
今日推荐