Python : list 使用

首先先看看 list 都有那些方法:
在编译器中输入 dir(list):
如图:
这里写图片描述
输出了 list 的全部属性和方法

但是我们只需要它的方法:
使用过滤器吧,在编译器中输入
import re
list(filter(lambda item: re.match(“[^]+.*[^]+”, item), dir(list)))

如图:此时就是所有我们可以调用的方法了,
这里写图片描述
那么此时开始使用这些方法:
append,count,extend,index,insert,pop,remove,reverse,sort

append():

append 方法是在该列表的尾部插入一条数据,append(value)。

list1 = list()
list1.append(1)
list1.append(2)
print(list1)

输出的结果为:

[1,2]

count():

count 方法是统计该列表某个元素出现了几次,count(value)。

list2 = [1,2,3,4,1,1,3]
print(list2.count(1))
print(list2.count(3))
print(list2.count(4))

输出的结果为:

3
2
1

extend():

extend 方法是将列表2 的每个元素,插入到列表1 中,extend(list())。

list1 = [1,2]
list2 = [1,2,3,4,1,1,3] 
list1.extend(list2)
print(list1)

输出的结果为:

[1, 2, 1, 2, 3, 4, 1, 1, 3]

与 append 的区别是,append 是将列表2 当作一个值插入到列表1 中。

list1 = [1,2]
list2 = [1,2,3,4,1,1,3]
list1.append(list2)
print(list1)

输出的结果为:

[1, 2, [1, 2, 3, 4, 1, 1, 3]]

index():

index 方法是获取某个元素在列表中的位置,index(value[,start[,stop]]),有 3个参数,第一个参数是元素,第二个参数是起始位置,第三个参数是结束位置,其中第二个第三个都是可选参数,可不填

list2 = [1,2,3,4,1,1,3]
print(list2.index(1))
print(list2.index(2))
print(list2.index(1,2))
print(list2.index(1,2,4))

输出的结果为:

0
1
4
Traceback (most recent call last):
    print(list2.index(1, 2, 4))
    ValueError: 1 is not in list

如果该列表中没有这个元素,那么会报错。

insert():

insert 方法是向列表指定位置插入数据,insert(index,value)。

list3 = [1, 2, 3, 4, 5, 6, 7, 8]
list3.insert(1, 3)
print(list3)
list3.insert(len(list3), 9)
print(list3)

输出的结果为:

[1, 3, 2, 3, 4, 5, 6, 7, 8]
[1, 3, 2, 3, 4, 5, 6, 7, 8, 9]

跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表的索引是从0开始的,如果是 insert(len(list),value) 这个Index的值>= len(list) 那么此时 insert() 的与 append() 一个效果。

pop():

pop 方法是在删除指定索引值的元素 pop(index);如果这个索引值不填,则默认删除最后一个元素,

list4 = [1, 2, 3, 4, 5]
list4.pop(2)
print(list4)
list4.pop()
print(list4)

输出的结果为:

[1, 2, 4, 5]
[1, 2, 4]

remove():

remove 方法是删除元素,remove(value),但是一个列表中如果有多个该元素,则只删除第一个

list5 = [1, 2, 3, 4, 4, 4, 5, 5]
list5.remove(4)
print(list5)
list5.remove(2)
print(list5)

输出的结果为:

[1, 2, 3, 4, 4, 5, 5]
[1, 3, 4, 4, 5, 5]

reverse():

reverse 方法是将列表中的元素位置逆转,比如 [1,2,3] 变为 [3,2,1]

list6 = [1, 2, 3, 4]
list6.reverse()
print(list6)
list7 = [2, 7, 1, 5]
list7.reverse()
print(list7)

输出的结果为:

[4, 3, 2, 1]
[5, 1, 7, 2]

sort():

sort 方法是将列表中的元素以指定规则排序,sort 方法一共有 3 个参数 sort([cmp[,key[,reverse]]]),第一个参数为比较函数,第二个参数为全局调用的函数,第三个参数为反转选择。

list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort()
print("正常排序")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(lambda x, y: y - x)
print("使用函数反转")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(key=lambda x: x)
print("使用key正常排序")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(key=lambda x: -x)
print("使用key反转排序")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(reverse=True)
print("使用反转控制反转排序")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(lambda x, y: y - x, lambda x: -x)
print("使用cmp和key进行两次反转")
print(list8)
list8 = [124, 43, 19, 45, 34, 643, 21]
list8.sort(lambda x, y: y - x, lambda x: -x, True)
print("使用cmp、key和reverse进行三次反转")
print(list8)

输出的结果为:

正常排序
[19, 21, 34, 43, 45, 124, 643]
使用函数反转
[643, 124, 45, 43, 34, 21, 19]
使用key正常排序
[19, 21, 34, 43, 45, 124, 643]
使用key反转排序
[643, 124, 45, 43, 34, 21, 19]
使用反转控制反转排序
[643, 124, 45, 43, 34, 21, 19]
使用cmp和key进行两次反转
[19, 21, 34, 43, 45, 124, 643]
使用cmp、key和reverse进行三次反转
[643, 124, 45, 43, 34, 21, 19]

序列操作符:

序列操作符作用
seq[ind]获得下标为 ind 的元素
seq[ind1:ind2]获得下标从 ind1 到 ind2 间的元素集合
seq * expr序列重复 expr 次
seq1 + seq2连接序列 seq1 和 seq2
obj in seq判断 obj 元素是否包含在 seq 中
obj not in seq判断 obj 元素是否不包含在 seq 中

序列函数:

函数含义
list(iter)把可迭代对象转换为列表
str(obj)把 obj 对象转换成字符串(对象的字符串表示法)
unicode(obj)把对象转换成 Unicode 字符串(使用默认编码)
basestring()抽象工厂函数,其作用仅仅是为 str 和 unicode 函数提供父类,所以不能被 实例化,也不能被调用
tuple(iter)把一个可迭代对象转换成一个元组对象

序列类型可用的内建函数:

enumerate(iter)接受一个可迭代对象作为参数,返回一个 enumerate 对象(同 时也是一个迭代器),该对象生成由 iter 每个元素的 index 值 和 item 值组成的元组
len(seq)返回 seq 的长度
max(iter,key=None) or max(arg0,arg1…,key=None)返回iter或(arg0,arg1,…)中的最大值,如果指定了key, 这个 key 必须是一个可以传给 sort()方法的,用于比较的回 调函数
min(iter, key=None) or min(arg0, arg1…. key=None)返回 iter 里面的最小值;或者返回(arg0,arg2,…)里面的最小值;如果指定了 key,这个 key 必须是一个可以传给 sort()方法的,用于比较的回调函数
reversed(seq)接受一个序列作为参数,返回一个以逆序访问的迭代器
sorted(iter, func=None, key=None, reverse=False)接受一个可迭代对象作为参数,返回一个有序的列表;可选参数 func,key 和 reverse 的含义跟 list.sort()内建函数的参数含义一 样
sum(seq, init=0)返 回 seq 和 可 选 参 数 init 的 总 和 , 其 效 果 等 同 于 reduce(operator.add,seq,init)
zip([it0, it1,… itN])返回一个列表,其第一个元素是 it0,it1,…这些元素的第 一个元素组成的一个元组,第二个…,类推
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值