python3基本数据类型02——列表
Posted tandonghao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3基本数据类型02——列表相关的知识,希望对你有一定的参考价值。
一、列表
直接赋值:只是传递对象的引用,原始列表发生改变时,被赋值的列表b也会改变
>>> a = [1,[2,3,4]] >>> b = a >>> a,b ([1, [2, 3, 4]], [1, [2, 3, 4]]) >>> a.append(5) >>> a,b ([1, [2, 3, 4], 5], [1, [2, 3, 4], 5])
>>> a[1].append(6)
>>> a,b
([1, [2, 3, 4, 6], 5], [1, [2, 3, 4, 6], 5])
浅拷贝:只拷贝父对象,不拷贝子对象,因此当原始列表的父对象和子对象改变时,被赋值的列表b的子对象会改变父对象不会改变
>>> c = a.copy() >>> a,c ([1, [2, 3, 4], 5], [1, [2, 3, 4], 5]) >>> a.append(7) >>> a,c ([1, [2, 3, 4], 5, 7], [1, [2, 3, 4], 5]) >>> a[1].append(6) >>> a,c ([1, [2, 3, 4, 6], 5,7], [1, [2, 3, 4, 6], 5])
注:红色代表子对象
深拷贝:copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象
>>>import copy
>>> c = copy.deepcopy(a)
>>> a, c
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> a[1].append(5)
>>> a, c
({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})
索引:根据索引查找元素
>>> age_list = [18,15,19] >>> age_list[0] 18
切片:截取需要的元素
>>> age_list[0:2] [18, 15]
长度:列表元素的个数
>>> len(age_list) 3
循环:循环输出列表里的元素
age_list = [18,15,19] for item in age_list: print(item)
列表内部提供的其它功能:
append(self, p_object):在列表末尾添加对象
输入:p_object()需要添加的对象
功能:在列表末尾添加对象
输出:无
>>> age_list = [12,13,14] >>> age_list.append(15) >>> age_list [12, 13, 14, 15]
clear(self):清空
输入:无
功能:清空列表
输出:无
>>> l1 = age_list >>> l1 [12, 13, 14, 15] >>> l1.clear() >>> l1 []
copy(self):浅拷贝,复制列表的父对象,不复制子对象
count(self, value):查询value参数在列表中的个数
extend(self, iterable):扩展列表元素
输入:iterable是一个对象可以是字符串、列表、字典、元组
功能:将iterable中的元素一个个添加到列表尾部
输出:无
>>> a [1, [2, 3, 4, 6], 5, 1] >>> d = ‘12345‘ >>> a.extend(d) >>> a [1, [2, 3, 4, 6], 5, 1, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
index(self, value, start=None, stop=None):查询value参数的位置
输入:value为要查找的值
功能:根据值查找
输出:若找到则输出第一次(左边)出现的位置,否则报错
>>> a [1, 2, 3, 1] >>> a.index(1) 0 >>> a.index(0) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: 0 is not in list
insert(self, index, p_object):插入
输入:index索引号,p_object要插入的对象
功能:在索引号前插入一个对象
输出:无
>>> a [1, 2, 3, 1] >>> a.insert(1,‘a‘) >>> a [1, ‘a‘, 2, 3, 1]
pop(self, index=None):删除(根据索引) 等于 del list[index]
输入:index索引号
功能:根据索引号删除列表里的元素,默认删除最后一个
输出:输出删除的元素,若列表为空或索引超过列表长度就会报错
>>> a [1, ‘a‘, 2, 3, 1] >>> a.pop(1) ‘a‘ >>> a.pop(5) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop index out of range
remove(self, value):删除(根据对象)
输入:要删除的对象
功能:根据值删除列表元素,若有多个value值,则删除左边第一个value
输出:无(若值不存在则报错)
>>> a [1, 2, 3, 1] >>> a.remove(1) >>> a [2, 3, 1]
reverse(self):将列表倒序
输入:无
功能:将列表里元素的顺序反过来
输出:无
>>> a [2, 3, 1] >>> a.reverse() >>> a [1, 3, 2]
以上是关于python3基本数据类型02——列表的主要内容,如果未能解决你的问题,请参考以下文章