列表作为一个有序可变可迭代的数据类型,在python中用法非常广。
定义一个列表:
list = [1,2,3,4,5,6]
列表的一些操作
1.获取列表的元素及遍历列表
列表中的元素可以通过索引来进行获取,列表的元素的索引从0开始到列表长度减1结束。
list1 =[1,2,3,4,5,6]
print(list1[2])
for item in list1:
print(item)

2.列表的拼接
列表和字符串一样可以通过+号来连接两个列表
list1 = [1,2,3]
list2 = [4,5,6]
print(list1+list2)

3.列表切片
任何有序且可迭代的数据都可以通过切片来进行操作,列表的切片和字符串一样
list1 = [1,3,4,5,7,8,2]
print(list1[-1])
print(list1[::2])
print(list1[::-1])
print(list1[6::-2])

4.len()、max()、min()、list()
len()方法:这是python中的一个内置方法 ,可以获取容器类型数据的大小
max()方法:获取容器内最大值
min()方法:获取容器内最小值
list()方法:将其他类型转化为list
list1 = [1,2,3,4]
s = '1234'
print(len(list1))
print(max(list1))
print(min(list1))
print(list(s))

列表的一些内置方法
1.list.append()
该方法的作用是向列表添加元素,添加到列表元素的最后
a = []
b = [1,2,3]
a.append('a')
a.append('b')
print(a)
a.extend(b)
print(a)

注意:python中还可以使用extend()方法对列表进行添加,但extend()方法只能接受一个列表作为参数
2.list.count()
该方法的作用是统计一个元素在列表出现的次数
a = [1,2,3,4,41,1,24,3]
print(a.count(3),a.count(1))

3.list.index()
该方法的作用是:找出某个值第一个匹配项的索引位置。
a = [1,2,3,4,41,1,24,3]
print(a.index(1),a.index(3))

4.list.insert()
该方法的作用:将指定对象插入列表的指定位置。
语法:list.insert(index,value)
a = [1,2,3,4]
a.insert(2,5)
print(a)

5.list.pop()
该方法的作用:移除列表最后一个元素,并且移除的元素不会删除,仍然可以使用。
语法:list.pop([index])
不指定index参数时,pop()默认移除列表最后一位
a = [1,2,3,4]
c = a.pop()
print(a,c)
b = a.pop(1)
print(a,b)

注意:移除不是删除,移除只是将元素移除列表。不会删除这个元素
6.list.remove(obj)
该方法的功能:移除列表中某个值的第一个匹配项。
语法:list.remove(seq)
a = [1,2,3,4]
a.remove(2)
print(a)

注意:虽然次方法也是移除,但是和pop()方法不同的在于,此方法没有返回值,移除的元素不能直接得到。
7.list.reverse()
该方法的作用:反向列表中的元素
语法:list.reverse()
a = [1,2,3,4]
a.reverse()
print(a)

7.list.sort()
该方法的作用:列表排序
语法:list.sort(cmp=None, key=None, reverse=False)cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
a = ['v','a','j','b','y']
b = [2,5,1,6,8,3]
a.sort()
b.sort()
print(a)
print(b)

注意:sort()方法不能排同时包含有字符串和数字的列表,会报错
8.list.clear()
该方法作用:清空列表,类似于 del list[:]。
语法:list.clear()
a = [2,4,46,7,1,14,11,3]
a.clear()
print(a)

9.list.copy()
方法作用:复制列表,类似于 a[:]
语法:list.copy()
a = [2,4,46,7]
b = a.copy()
print(a)
print(b)

注意:copy()和=虽然结果都一样,但在存储上有很大的差别,这里举例说明。
list1 = list2 和 list1 = list2.copy()的区别
a = [2,4,46,7]
b = a
print(a)
print(b)

a = [2,4,46,7]
b = a.copy()
print(a)
print(b)

ps:区别在于使用=赋值的时候,列表a与列表b指向的都是同一个堆内存地址,如果修改列表a,列表b也会修改。copy()拷贝虽然列表a与列表b的元素都一样,但指向的是不同的堆内存地址,修改不会影响另一个列表。
网友评论