Python--列表·进阶使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--列表·进阶使用相关的知识,希望对你有一定的参考价值。
列表元素的增加与删除
append()函数
在列表末端增加元素
格式:
List_name.append(新增元素‘)
列表A.append(列表B)
在表的末端加入元素
lianxi=[]
print("初始列表内容:",lianxi)
lianxi.append(first)
print("在末尾加一个元素:",lianxi)
lianxi.append(second)
print("在末尾加一个元素:",lianxi)
在表的末端再加入一个表
lianxi=[]
print("初始列表内容:",lianxi)
lianxi.append(first)
print("在末尾加一个元素:",lianxi)
lianxi.append(second)
print("在末尾加一个元素:",lianxi)
b=["新表","biao"]
lianxi.append(b)
print(lianxi)
extend()函数:连接两个表
这也是2个列表连接的方法,与 append ()类似,不过这个方法只适用2个列表连接,不能用在一般元素。同时在连接后, extend ()会将列表分解成元素,一一插入列表。
格式:
listA.exteng(listB)
lianxi=[first,second,third]
a=[a,B]
lianxi.extend(a)
print(lianxi)
insert()函数:插入元素
将一个元素添加到当前列表的指定位置中
格式:insert(索引值,元素内容)
lianxi=[first,second,third]
print("初始列表内容:",lianxi)
lianxi.insert(0,A)
print("在索引0位置上增加:",lianxi)
lianxi.insert(3,B)
print("在索引3位置上增加:",lianxi)
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)
查看被删除元素:
lianxi=[first,second,third]
print("初始列表内容:",lianxi)
lianxi.pop(0)
print("删除索引0位置上元素:",lianxi)
a=lianxi.pop()
print("删除末端位置上元素:",lianxi)
print(a)
remove()函数:删除指定元素
删除指定元素
格式:List_name.remove(想要删除的东西)
如果列表中有相同的元素,就删除第一个出现的元素
lianxi=[first,second,third]
print("初始列表内容:",lianxi)
lianxi.remove(first)#删除first
print("结果为:",lianxi)
列表的排序
reverse()函数
颠倒排序,使用后就永久生效了
格式:List_name.reverse( )
效果如同:[::-1]
lianxi=[first,second,third]
print("初始列表内容:",lianxi)
print("使用[::-1]:",lianxi[::-1])
lianxi.reverse()
print("使用reverse函数:",lianxi)
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)
从大到小的排序:
a=[a,ebb,cfdf]
b=[1,3,6,7,5]
a.sort(reverse=True)
print(a)
sorted()函数:从小到大排列
使用效果同sort()函数,但是用新列表储存排序后的数据,保持原有列表。
格式:
newlist=sorted(lastlist)
a=[a,ebb,cfdf]
b=[2,4,3]
c=sorted(a)
d=sorted(b)
print(c,";",d)
列表进阶操作
index()函数
这方法可以返回特定元素第一次出现的索引值
格式:
索引值=listname.index(搜寻值)
nums=[2,3,9,4,5,3,2,4]
searchnum=3
a=nums.index(searchnum)
print("搜寻的元素%s 第一次出现的索引值为%d"%(searchnum,a))
cout()函数
返回特定元素出现的次数,如果没有就会出现错误
格式:
次数=listname.count(搜寻值)
nums=[2,3,9,4,5,3,2,4]
searchnum=3
a=nums.count(searchnum)
print("搜寻的元素 %s 出现的次数是:%d"%(searchnum,a))
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)
浅复制-shallow copy
浅复制的格式如下:
str2=str1[:]
str1=[a,b]
str2=str1[:]
print(str1,str2)
str1.append(c)
str2.append(d)
print(str1,str2)
如上所示,分开了。
以上是关于Python--列表·进阶使用的主要内容,如果未能解决你的问题,请参考以下文章