2023年7月26日发(作者:)
python列表操作⽅法详解python 列表操作⽅法详解⼀、总结⼀句话总结:> 列表增:b_list = ['a','b','c','d']> 列表删:del b_list[2]> 列表改:b_list[0] = 123> 列表查:print(b_list[1:3]) #['b', 'c']:遍历:for value in b_list
1、列表中的+和*操作符的意思(列表对 + 和 * 的操作符与字符串相似)?> +号:组合:[1, 2, 3] + [4, 5, 6]:[1, 2, 3, 4, 5, 6]> *号:重复:['Hi!'] * 4:['Hi!', 'Hi!', 'Hi!', 'Hi!']
2、python遍历列表 ?> list=['1','2','3'] for value in listlist=['1','2','3']for value in list:#末尾加上冒号 print(value)#每次循环都把list列表中的值赋给value,赋值从索引号0开始#循环的语句需要缩进结果:123list=['1','2','3','4','5','6','7']for value in list[3:]:#遍历索引3之后的数值 print(value)结果:4567
⼆、python 列表操作⽅法详解 列表是Python中最基本的数据结构,列表是最常⽤的Python数据类型,列表是⼀个数据的集合,集合内可以放任何数据类型,可对集合⽅便的增删改查操作。Python已经内置确定序列的长度以及确定最⼤和最⼩的元素的⽅法序号函数描述(self,p_object)(self)(self)(self,value)(self,iterable)(self,index,start=None,stop=None)(self,index=None)(self,value)e(self,value)(self,key=None,reverse=False)给列表后⾯追加新的对象清空列表中的元素浅复制列表统计某个元素在列表中出现的次数在列表末尾⼀次性追加另⼀个序列中的多个值(⽤新列表扩展原来的列表)将对象插⼊列表移除列表中的⼀个元素(默认最后⼀个),并返回该元素的值移除列表中某个值的第⼀个匹配项,从左找到第⼀个指定元素反向列表中的元素对原列表进⾏排序(self, value, start=None, stop=None)从列表中找出某个值第⼀个匹配项的索引位置
⼀,List list()⽅法 list()⽅法将元组转换为列表 注意:元祖与列表是⾮常相似的,区别在于元组的元素值不能修改,元祖是放在括号中,列表是放在⽅括号⾥⾯的。a_tuple = ('123','abc',123)a_list = list(a_tuple)print(a_tuple)print(a_list)结果:('123', 'abc', 123)['123', 'abc', 123]⼆,创建⼀个列表 只要把逗号分隔的不同的数据项使⽤⽅括号括起来即可。如下:a_list = [1,2,3,4,5,6]b_list = ['a','b','c','d']c_list = ['a','b','c',1,2,3,4]三,访问列表中的值 与字符串的索引⼀样,列表索引从0开始。列表可以进⾏截取、组合等。使⽤下标索引来访问列表中的值,同样你也可以使⽤⽅括号的形式截取字符,如下所⽰:a_list = [1,2,3,4,5,6]b_list = ['a','b','c','d']c_list = ['a','b','c',1,2,3,4]print(a_list[0])print(b_list[1:3])print(c_list[:])结果:1['b', 'c']['a', 'b', 'c', 1, 2, 3, 4]四,更新列表 可以对列表的数据项进⾏修改或更新,你也可以使⽤append()⽅法来添加列表项,如下所⽰:a_list = [1,2,3,4,5,6]b_list = ['a','b','c','d']c_list = ['a','b','c',1,2,3,4]a_list[0] = 123print(a_list)b_("efg")print(b_list)结果:[123, 2, 3, 4, 5, 6]['a', 'b', 'c', 'd', 'efg']五,删除列表元素 1,可以使⽤ del 语句来删除列表的的元素, 2,可以使⽤pop()移除某元素并返回该元素, 3,使⽤remove()删除从左找到的第⼀个指定元素,如下实例:a_list = [1,2,3,4,5,6]b_list = ['a','b','c','d']c_list = ['a','b','c',1,2,3,4,1]del a_list[2]print(a_list)b = b_()print(b)c = c_(2) #也可以删除指定元素,并返回print(c)d = c_(1)print(c_list)结果:[1, 2, 4, 5, 6]dc['a','b','c',2,3,4,1]
六,列表脚本操作符 列表对 + 和 * 的操作符与字符串相似。+ 号⽤于组合列表,* 号⽤于重复列表。Python 表达式len([1, 2, 3])[1, 2, 3] + [4, 5, 6]['Hi!'] * 43 in [1, 2, 3]for x in [1, 2, 3]:print x,
七,列表操作函数 1、cmp(list1, list2):⽐较两个列表的元素
2、len(list):列表元素个数
3、max(list):返回列表元素最⼤值
4、min(list):返回列表元素最⼩值
5、list(seq):将元组转换为列表⼋,列表排序 注意排序优先级:数字>⼤写字母>⼩写字母>符号>中⽂ 1,永久性排序:sort() 2,临时性排序:sorted() 3,反转排序:reverse()l1 = ["排序","?","123","w","W"]l2 = ['1','2','3']a = () #永久性排序,就是这个列表就变了print(l1)b =sorted(l2) #临时性排序,就是可以赋值某个变量print(b)c = e()print(l1)结果:['123', '?', 'W', 'w', '排序']['1', '2', '3']['排序', 'w', 'W', '?', '123']结果3[1, 2, 3, 4, 5, 6]['Hi!', 'Hi!', 'Hi!','Hi!']True1 2 3长度组合重复描述元素是否存在于列表中迭代九,遍历列表 除了⼀般的遍历,还可以遍历切⽚列表list=['1','2','3']for value in list:#末尾加上冒号 print(value)#每次循环都把list列表中的值赋给value,赋值从索引号0开始#循环的语句需要缩进结果:123list=['1','2','3','4','5','6','7']for value in list[3:]:#遍历索引3之后的数值 print(value)结果:4567⼗,创建数值列表 1,使⽤range()函数⽣成⼀系列数值 2,遍历range()函数⽣成的数值value=list(range(0,6))#range()⽣成0~6的数值,list()函数把数值转换成列表print(value)结果:[0, 1, 2, 3, 4, 5]for value in range(0,6):#range(0,6)顺序⽣成从0到5的数值 print(value)结果:012345>>> range(1,5)#代表从1到5(不包含5)----------------[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,每次加2(不包含5)-----[1, 3]>>> range(5) #代表从0到5(不包含5)-----------------[0, 1, 2, 3, 4] ⼗⼀,复制列表 1,复制整个列表 2,复制切⽚列表list=['1','2','3','4','5']list_2=list[:]#从起始索引到末尾索引print(list_2)结果:['1', '2', '3', '4', '5']list=['1','2','3','4','5']list_2=list[:]#从起始索引到索引3print(list_2)#输出['1','2','3']结果:['1', '2', '3', '4', '5']⼗⼆,列表切⽚切⽚操作(slice)可以从⼀个字符串中获取⼦字符串(字符串的⼀部分)。我们使⽤⼀对⽅括号、起始偏移量start、终⽌偏移量end 以及可选的步长step 来定义⼀个分⽚。 格式: [start:end:step]• [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串• [start:] 从start 提取到结尾• [:end] 从开头提取到end - 1• [start:end] 从start 提取到end - 1• [start:end:step] 从start 提取到end - 1,每step 个字符提取⼀个• 左侧第⼀个字符的位置/偏移量为0,右侧最后⼀个字符的位置/偏移量为-1list = [1, 2, 3, 4, 5, 6, 7]>>> list[0:] #列出索引0以后的---------[1, 2, 3, 4, 5, 6, 7]>>> list[1:] #列出索引1以后的---------[2, 3, 4, 5, 6, 7]>>> list[:-1] #列出索引-1之前的-------[1, 2, 3, 4, 5, 6]>>> list[1:3] #列出索引1到3之间的-----[2]#形成reverse函数的效果:>>> list[::-1]#[7, 6, 5, 4, 3, 2, 1]>>> list[::-2]#[7, 5, 3, 1]>>> range(1,5)#代表从1到5(不包含5)----------------[1, 2, 3, 4]>>> range(1,5,2) #代表从1到5,每次加2(不包含5)-----[1, 3]>>> range(5) #代表从0到5(不包含5)-----------------[0, 1, 2, 3, 4]⼗三,tuple,dict,list之间的转换 直接声明的list和tuple⽆法通过dict()转换成dict类型 直接声明的dict可以通过tuple()和list()分别转换成tuple和list类型(结果只包含了keys),可是此时却能通过dict()反转回原来的dict类型13-1、字典dict = {'name': 'Zara', 'age': 7}#字典转为字符串str(dict)#字典可以转为元组tuple(dict)#字典可以转为元组tuple(())#字典转为列表list(dict)#字典转为列表13-2、元组tup=(1, 2, 3, 4, 5,6,7,8)#元组转为字符串tup.__str__()#元组转为列表list(tup)#元组不可以转为字典13-3、列表nums=[1, 3, 5, 7, 9, 11, 13];#列表转为字符串str(nums)#列表转为元组tuple(nums)#列表不可以转为字典13-4、字符串str="(1,2,3)"#字符串转为元组tuple(eval(str))#字符串转为列表list(eval("(1,2,3)"))#字符串转为字典str1="{'name':'ljq', 'age':24}"eval(str1)⼗四,列表的练习写代码,要求实现下⾯每⼀个功能 li=['alex','eric','rain'] 1,计算列表长度并输出 2,列表中追加元素“servn",并输出添加后的列表 3,请在列表的第⼀个位置插⼊元素‘tony’,并输出添加后的列表 4,请修改列表位置元素‘kelly’,并输出修改后的列表 5,请在列表删除元素‘eric’,并输出删除后的列表 6,请删除列表中的第2个元素,并输出删除后的元素的值和删除元素后的列表 7,请删除列表中的第三个元素,并输出删除后的列表 8,请删除列表的第2到4个元素,并输出删除元素后的列表 9,请⽤for len range输出列表的索引 10,请使⽤enumrate输出列表元素和序号 11,请使⽤for循环输出列表中的所有元素
# li = ['alex','eric','rain']# 1,计算列表长度并输出# print(len(li))# 列表中追加元素“seven”,并输出添加后的列表# ('seven')# print(li)# 请在列表的第1个位置插⼊元素“Tony”,并输出添加后的列表# (1,'tony')# print(li)#请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表# li[1] ='kelly'# print(li)# 请删除列表中的元素“eric”,并输出修改后的列表# a =(2)# print(li)# ('eric')# print(li)# 请删除列表中的第2个元素,并输出删除元素后的列表# b =(1)# print(b)# print(li)# 请删除列表中的第2⾄4个元素,并输出删除元素后的列表# c = li[2:4]# d = set(li)-set(c)# # print(list(d))# del li[1:4]# print(li)# 请将列表所有的元素反转,并输出反转后的列表# e = e()# print(li)# 请使⽤for、len、range输出列表的索引# for i in range(len(li)):# print(i)# 请使⽤enumrate输出列表元素和序号(序号从100开始)# for index in enumerate(li):# print(index)# for index,i in enumerate(li,100):# print(index,i)# for i in li:# print(i)⼗五,写代码,有如下元组,请按照功能要求实现每⼀个功能 tu = ('alex','eric,'rain') 1,计算元组的长度并输出 2,获取元祖的第⼆个元素,并输出 3,获取元祖的第1-2个元素,并输出 4,请⽤for输出元祖的元素 5,请使⽤for,len,range输出元组的索引 6,请使⽤enumerate输出元组元素和序号,(从10开始)tu = ('alex','eric','rain')# 1,计算元组的长度并输出print(len(tu))# 2,获取元祖的第⼆个元素,并输出print(tu[1])# 3,获取元祖的第1-2个元素,并输出print(tu[0:2])# 4,请⽤for输出元祖的元素for i in tu: print(i)# 5,请使⽤for,len,range输出元组的索引for i in range(len(tu)): print(i)# 6,请使⽤enumerate输出元组元素和序号,(从10开始)for index,i in enumerate(tu,10): print(index,i) ⼗六,list中的append和extend的区别(object) 向列表中添加⼀个对象(sequence) 把⼀个序列seq的内容添加到列表中 举例如下:使⽤append的时候,是将new_media看作⼀个对象,整体打包添加到music_media对象中。music_media = ['compact disc', '8-track tape', 'long playing record']new_media = ['DVD Audio disc', 'Super Audio CD']music_(new_media)print music_media>>>['compact disc', '8-track tape', 'long playing record', ['DVD Audio disc', 'Super Audio CD']] 使⽤extend的时候,是将new_media看作⼀个序列,将这个序列和music_media序列合并,并放在其后⾯。music_media = ['compact disc', '8-track tape', 'long playing record']new_media = ['DVD Audio disc', 'Super Audio CD']music_(new_media)print music_media>>>['compact disc', '8-track tape', 'long playing record', 'DVD Audio disc', 'Super Audio CD'] 17 Python 统计列表中的重复项出现的次数的⽅法 对⼀个列表,⽐如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表⾥的重复项,并且重复了⼏次也要统计出来。 ⽅法1:mylist = [1,2,2,2,2,3,3,3,4,4,4,4]#myset是另外⼀个列表,⾥⾯的内容是mylist⾥⾯的⽆重复项myset = set(mylist)
for item in myset: res = (item)
print("the %d has found %d" %(item,(item))) ⽅法2:List=[1,2,2,2,2,3,3,3,4,4,4,4]a = {}for i in List: if (i)>1: a[i] = (i)print (a) 利⽤字典的特性来实现。 ⽅法3:>>> from collections import Counter>>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])Counter({1: 5, 2: 3, 3: 2}) ⽅法4:l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9]
count_times = []for i in l : count_((i))
m = max(count_times)n = (m)
print (l[n]) 其实现原理就是把列表中的每⼀个数出现的次数在其对应的位置记录下来,然后⽤max求出出现次数最多的位置。只⽤这段代码的话,有⼀个缺点,如果有多个结果,最后的现实的结果只是出现在最左边的那⼀个,不过解决⽅法也很简单。⼗⼋ sort与sorted函数排序的区别 Python list内置sort() ⽅法⽤来排序,也可以使⽤Python内置的全局sorted() ⽅法对可迭代的序列排序⽣成新的序列。sort()函数 ⾸先看⼀个例⼦:lis1 = [3,5,6,8,9]()print(lis1) 使⽤sort()⽅法对list排序会修改list本⾝,不会返回新list,通常此⽅法不如sorted()⽅便,但是如果你不需要保留原来的list,此⽅法将更有效sort()。sort()⽅法不能对字典dict进⾏排序。sorted() 函数 再看⼀个例⼦:lis1 = [3,5,6,8,9,1]res = sorted(lis1)print(lis1)print(res)# [3, 5, 6, 8, 9, 1]# [1, 3, 5, 6, 8, 9] sorted()不会改变原来的list,⽽是会返回⼀个新的已经排序好的list。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1690305459a329568.html
评论列表(0条)