列表元素的增加与删除

append()函数

在列表末端增加元素

格式:

List_name.append('新增元素‘)

列表A.append(列表B)

在表的末端加入元素

lianxi=[]
print("初始列表内容:",lianxi)
lianxi.append('first')
print("在末尾加一个元素:",lianxi)
lianxi.append('second')
print("在末尾加一个元素:",lianxi)

 Python(9)--列表·进阶使用_开发语言

在表的末端再加入一个表

lianxi=[]
print("初始列表内容:",lianxi)
lianxi.append('first')
print("在末尾加一个元素:",lianxi)
lianxi.append('second')
print("在末尾加一个元素:",lianxi)
b=["新表","biao"]
lianxi.append(b)
print(lianxi)

 

 Python(9)--列表·进阶使用_开发语言_02

extend()函数:连接两个表

这也是2个列表连接的方法,与 append ()类似,不过这个方法只适用2个列表连接,不能用在一般元素。同时在连接后, extend ()会将列表分解成元素,一一插入列表。

格式:
 listA.exteng(listB)

lianxi=['first','second','third']
a=['a','B']
lianxi.extend(a)
print(lianxi)

 Python(9)--列表·进阶使用_浅复制_03

 insert()函数:插入元素

 将一个元素添加到当前列表的指定位置中

格式:insert(索引值,元素内容)

lianxi=['first','second','third']
print("初始列表内容:",lianxi)
lianxi.insert(0,'A')
print("在索引0位置上增加:",lianxi)
lianxi.insert(3,'B')
print("在索引3位置上增加:",lianxi)

 Python(9)--列表·进阶使用_字符串_04

pop()函数:删除列表元素

删除列表元素

格式:

value=List_name.pop()                           #()里面没东西,默认删除列表末端的元素

value=List_name.pop(i)                          #删除索引值i的元素

实例: 

lianxi=['first','second','third']
print("初始列表内容:",lianxi)
lianxi.pop(0)
print("删除索引0位置上元素:",lianxi)
lianxi.pop()
print("删除末端位置上元素:",lianxi)

 

 Python(9)--列表·进阶使用_字符串_05

 查看被删除元素:

lianxi=['first','second','third']
print("初始列表内容:",lianxi)
lianxi.pop(0)
print("删除索引0位置上元素:",lianxi)
a=lianxi.pop()
print("删除末端位置上元素:",lianxi)
print(a)

 

 Python(9)--列表·进阶使用_字符串_06

remove()函数:删除指定元素

删除指定元素

格式:List_name.remove(想要删除的东西)

如果列表中有相同的元素,就删除第一个出现的元素

lianxi=['first','second','third']
print("初始列表内容:",lianxi)
lianxi.remove('first')#删除first
print("结果为:",lianxi)

 Python(9)--列表·进阶使用_List_07

列表的排序 

reverse()函数

颠倒排序,使用后就永久生效了

格式:List_name.reverse( ) 

效果如同:[::-1]

lianxi=['first','second','third']
print("初始列表内容:",lianxi)
print("使用[::-1]:",lianxi[::-1])
lianxi.reverse()
print("使用reverse函数:",lianxi)

 

 Python(9)--列表·进阶使用_python_08

sort()函数 

将列表元素从小到大排列,对数字和英文字符串的排序有显著效果,(如果是英文字符串请先改为统一的小写或者大写),顺序会被永久更改。

格式:

List.sort()

List.sort(reverse=True)                 #从大到小排列顺序

数字与英文的排序:

a=['a','ebb','cfdf']
b=[1,3,6,7,5]
a.sort()
b.sort()
print(a)
print(b)

 Python(9)--列表·进阶使用_浅复制_09

从大到小的排序: 

a=['a','ebb','cfdf']
b=[1,3,6,7,5]
a.sort(reverse=True)
print(a)

 Python(9)--列表·进阶使用_浅复制_10

sorted()函数:从小到大排列

使用效果同sort()函数,但是用新列表储存排序后的数据,保持原有列表。

格式:

newlist=sorted(lastlist) 

a=['a','ebb','cfdf']
b=[2,4,3]
c=sorted(a)
d=sorted(b)
print(c,";",d)

 

 Python(9)--列表·进阶使用_浅复制_11

列表进阶操作

index()函数

这方法可以返回特定元素第一次出现的索引值

格式:

索引值=listname.index(搜寻值)

nums=[2,3,9,4,5,3,2,4]
searchnum=3
a=nums.index(searchnum)
print("搜寻的元素%s 第一次出现的索引值为%d"%(searchnum,a))

 Python(9)--列表·进阶使用_python_12

cout()函数 

返回特定元素出现的次数,如果没有就会出现错误

格式:

次数=listname.count(搜寻值)

nums=[2,3,9,4,5,3,2,4]
searchnum=3
a=nums.count(searchnum)
print("搜寻的元素 %s 出现的次数是:%d"%(searchnum,a))

 Python(9)--列表·进阶使用_python_13

join()函数

将列表的元素组成一个字符串

格式:

char.join(seq)                  # seq 表示参数必须是列表、元组等序列数据

至于 char 则是组合后各元素间的分隔字符,可以是单一字符,也可以是字符串。

nums=['1','2','3']
char='~'
print(char.join(nums))

列表的复制 

深复制-deep copy

下面我设定了两个列表str1,str2,将str1的值复制给str2,此时两个的数据相同,并且“连在一起了”,如果我将str1增加一个元素“c”,str2增加一个元素“d”,

就会出现下图的结果:['a', 'b', 'c', 'd'] ['a', 'b', 'c', 'd'],

那么我想要这两个列表分开:str1['a','b','c']、str2['a','b','d']

这就需要浅复制了。

str1=['a','b']
str2=str1
print(str1,str2)
str1.append('c')
str2.append('d')
print(str1,str2)

 Python(9)--列表·进阶使用_浅复制_14

浅复制-shallow copy

浅复制的格式如下:

str2=str1[:]

str1=['a','b']
str2=str1[:]
print(str1,str2)
str1.append('c')
str2.append('d')
print(str1,str2)

 

 Python(9)--列表·进阶使用_python_15

如上所示,分开了。