1.list相关内置函数:
函数 | 说明 |
---|---|
cmp(list1,list2) | 比较两个列表的元素,比较方法与其他语言字符串的比较相同 |
len(list) | 求列表元素个数 |
max(list) | 返回列表中最大的值 |
min(list) | 返回列表中最小值 |
list(obj) | 将obj转换成list类型 |
del(obj) | 删除obj,既可以是列表本身 del(list),也可以是列表中的某个元素 del(list[index]) |
sorted(obj) | 对obj进行排序,返回排序后的对象,obj本身不发生改变 |
注:在python2版本中有cmp(list_1,list_2)函数来比较两个列表是否相等,python3.0中去掉了此内置函数,若要使用,则可以参照以下代码块:
import operator
a,b = [1,2,3] , [1,2,3]
print(operator.eq(a,b))
#同样地,也可以对字符串执行此操作
s1 ,s2 = 'hello' , 'world'
print(operator.eq(s1,s2))
运行结果:
>>>True
>>>False
可以看出,该方法只是比较两对象的内容,而不涉及到地址的比较,所以该方法和比较运算符(‘==’)起着同样的作用;当用到地址(id())比较时,需要用 ‘ is ’运算。
2.list内部方法
函数 | 说明 |
---|---|
list.insert(index, obj) | 向指定位置插入对象 |
list.append(obj | 向末尾插入对象 |
list.extend(seq) | 一次性向列表中追加多个值,常用于列表的拼接 |
list.pop(default = -1) | 删除指定索引的元素(默认为-1),并且返回删除的元素 |
list.remove(obj) | 移除列表中第一个和obj相等的元素 |
list.index(obj) | 返回第一个和obj匹配的索引位置 |
list.count(obj) | 统计列表中obj出现的次数 |
list.reverse() | 反向列表中元素 |
list.sort() | 对列表中元素进行排序 链接:排序详解 |
3.list切片入门
list[start : end : step]
三个参数:起点,终点(不含),间隔
给两个例子,慢慢琢磨?
>>>a = [1,2,3,4,5]
>>>a[:]
[1,2,3,4,5]
>>>a[1:3]
[2,3]
>>>a[1:3:2]
[2]
再来看个复杂的嵌套切片
>>>a = [ [1,2,3],[4,5,6],[7,8,9]]
>>>a[1:3][1:2]
[[7, 8, 9]]
>>>a[1:3][1:2][0][1:2]
[8]
注:在嵌套切片中,把每一步拆开看就简单了,如
a[1:3][1:2]中,把a[1:3]返回的中间列表[[4,5,6],[7,8,9]]再做list[1:2]的操作。
示例,希望你能看明白:
切片中间过程 | 结果 |
---|---|
a[1:3] | [[4,5,6],[7,8,9]] |
a[1:3][1:2] | [[7,8,9]] |
a[1:3][1:2][0] | [7,8,9] |
a[1:3][1:2][0][1:2] | [8] |
好啦,你需要自己动手试一试,否则也只能看到上面这些。