python(3):一文学会Python中的六大数据类型...list列表(深浅拷贝)

it2022-05-05  125

Python作为最热门的语言,使我们每个人应该学习的一门技术! 本文针对初学者,我会用最容易的方式告诉你如何入门python!

文章目录

【导图】python数据类型一、列表二、列表的相关函数1.求长度的len()函数和根据长度进行遍历列表2.列表的拼接和重复3.切片,倒序输出4.添加的三个方法append,extend,insert5.删除的三个方法pop,del,remove6.修改7. 反转reverse()8.排序sort()和sorted()9.计数count()10.索引index()11.列表嵌套12. id()方法和‘==’区别:13.面试题:深浅拷贝的区别

【导图】python数据类型

一、列表

列表有序的可修改的序列格式a = [1, 3, 4 ] , b = [1 , ]#一个元素需要加逗号

二、列表的相关函数


1.求长度的len()函数和根据长度进行遍历列表

a = [1, 3, 4, ] for i in range(len(a)): print('第%d个元素为:%d' % (i + 1, a[i])) print('长度为:', len(a))

结果:


2.列表的拼接和重复

a = [1, ] b = [2, 3] print(a + b) print(a * 3) print(a[0]+b[0])#数字遵循数学加减

结果:


3.切片,倒序输出

a = [1, 2, 3, 4, 5,] for i in range(1,len(a)+1): print(a[-i],end=' ')

结果:


4.添加的三个方法append,extend,insert

方法名使用方式append()append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后; 格式: m.append(元素A)extend()extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;格式:m.extend([元素A,元素B,……])insert()insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。 格式: m.insert(A,元素B):表示在列表m里面的第A+1处加入元素B # --------------------添加------append()追加,extend()扩展和insert() a = [1, 2, 3, 4, 5,] a.append(7)#在尾部追加一个 print(a) b=['a','b'] a.extend(b)#extend可以将另一个列表插入 print(a) a.insert(1,'x')#在索引一的位置加个’x' print(a)

结果:


5.删除的三个方法pop,del,remove

a = [1, 2, 3, 4, 5,] a.pop()#会删除最后一个数,并且输出删除的这个元素 a.pop(2)#会删除索引为2的数,并且输出删除的这个元素 a = [1, 2, 3, 4, 5,] a.remove(3)#删除的是第一个遇到的3,并非索引位置 print(a) a = [1, 2, 3, 4, 5,] del a[2]#删除对应索引或者整个列表 print(a)

6.修改

# ----------------修改-------------------------------- a = [1, 2, 3, 4, 5,] a[2]='xx'#直接将对应索引更改为自己修改的值即可 print(a)

结果;


7. 反转reverse()

a = [1, 2, 3, 4, 5, ] a.reverse() print(a)

结果:


8.排序sort()和sorted()

sort函数是列表的函数sorted函数是Python的函数 a=[1,3,5,2,5] a.sort()#无返回值,改变内部,列表内置函数,默认升序 print(a) b=sorted(a)#有返回值,默认升序 print(b) a.sort(reverse=True)#降序 print(a)

结果:


9.计数count()

a = [1, 2, 3, 1, 1] b = a.count(1) print('1的个数有:', b)

结果:


10.索引index()

a=[1,2,3,1,1] b=a.index(1)#返回第一个出现的值得索引 print(b)

结果:


11.列表嵌套

a=[[1,2,3],[4,5,6],[7,8,9]] for i in a: for j in i: print(j,end=' ') print() print(a[0][2]) print(a[1][2]) print(a[2][2])

结果:


12. id()方法和‘==’区别:

方法区别==比的是值id()比的是内存地址 #-----------------------------id()和is,== a=3 b=3 print(id(a))#两个的内存地址一样,那么他们的数据是同一个 print(id(b)) print(a is b)#因为数据是同一个,所以a就是b a=[1,2,3] b=[1,2,3] print(a==b)#True,==比的是值 print(a is b)#False, is比的是内存地址,a和b是两个列表,不相信可以用id()分别验证

结果:


13.面试题:深浅拷贝的区别

深拷贝:完全复制一份到新的地址,互相修改不受影响浅拷贝:粗略复制,对于内部的可变类型,互相修改还会变化,因为内部的可变类型还是同一块内存地址 import copy a=[1,2,3,[4,5],6] b=a c=copy.copy(a)#浅拷贝,将列表粗略考走,列表内部的列表会随着a中内部的列表变化,即内部列表还指向【4,5】 d=copy.deepcopy(a)#深拷贝,完全复制一份a,创立了一块新的地址,互相修改不会变化 a.append('00000') a[3].append('x') print(a,id(a)) print(b,id(b)) print(c,id(c)) print(d,id(d))

结果:


最新回复(0)