您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Python 列表list使用介绍

2025/4/12 14:24:06发布84次查看
一组有序项目的集合可变的数据类型【可进行增删改查】列表中可以包含任何数据类型,也可包含另一个列表【可任意组合嵌套】列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔列表可通过序号访问其中成员
定义
>>> l = [] #空列表>>> l = [1,2,3]>>> l = [1,2,3,['a','b']]>>> l = list('linuxeye')>>> l['l', 'i', 'n', 'u', 'x', 'e', 'y', 'e']>>> l = list(range(5))>>> l[0, 1, 2, 3, 4]>>> l = '1;2;3;4;5'.split(';')>>> l['1', '2', '3', '4', '5']
内建函数list(a_sequence) 可以将一个序列转为列表
索引
正索引是编号是从左到右,0开始;负索引编号是从右往左,-1、-2 …;取范围值都是从左至右
>>> languagelist = ['python','shell','perl','php','java','c',c++,lisp]>>> languagelist[0] #取第一个值'python'>>> languagelist[3] #第四个值'php'>>> languagelist[3:]['php', 'java', 'c', 'c++', 'lisp']>>> languagelist[:3]['python', 'shell', 'perl']>>> languagelist[2:5]['perl', 'php', 'java']
>>> languagelist[-1] #倒数第一个值'lisp'>>> languagelist[-2] #倒数第二个值'c++'>>> languagelist[-5:]['php', 'java', 'c', 'c++', 'lisp']>>> languagelist[-5:-2]['php', 'java', 'c']>>> languagelist[:-2]['python', 'shell', 'perl', 'php', 'java', 'c']
增加元素
>>> languagelist['python', 'shell', 'perl', 'php', 'java', 'c', 'c++', 'lisp']>>> languagelist.append('go')>>> languagelist['python', 'shell', 'perl', 'php', 'java', 'c', 'c++', 'lisp', 'go']>>> languagelist.insert(3,'python') #往php元素前插入>>> languagelist['python', 'shell', 'perl', 'python', 'php', 'java', 'c', 'c++', 'lisp', 'go']>>> languagelist.extend(['ruby','c#'])>>> languagelist['python', 'shell', 'perl', 'python', 'php', 'java', 'c', 'c++', 'lisp', 'go', 'ruby', 'c#']
搜索
>>> languagelist = ['python', 'shell', 'perl', 'python', 'php', 'java', 'c', 'c++', 'lisp', 'go', 'ruby', 'c#']>>> languagelist.index('python')0>>> languagelist.index('c')6>>> languagelist.index('c')traceback (most recent call last): file , line 1, in valueerror: list.index(x): x not in list>>> 'c' in languagelistfalse>>> languagelist.index('python') #统计一个元素的出现次数2
删除元素
>>> languagelist = ['python', 'shell', 'perl', 'python', 'php', 'java', 'c', 'c++', 'lisp', 'go', 'ruby', 'c#']>>> languagelist.remove('c')>>> languagelist.remove('python')>>> languagelist.remove('c')traceback (most recent call last): file , line 1, in valueerror: list.remove(x): x not in list>>> languagelist.pop()'c#'>>> languagelist['shell', 'perl', 'python', 'php', 'java', 'c++', 'lisp', 'go', 'ruby']>>> languagelist.pop(-2)['shell', 'perl', 'python', 'php', 'java', 'c++', 'lisp', 'ruby']>>> del languagelist[-3:-1]>>> languagelist['shell', 'perl', 'python', 'php', 'java', 'ruby']
remove从列表中只删除一个值的首次出现。
pop会做两件事: 删除列表的最后一个元素, 然后返回删除元素的值。
修改元素
>>> languagelist = ['python','shell', 'perl', 'python', 'php', 'java', 'ruby']>>> languagelist[-2] = 'c'>>> languagelist['python', 'shell', 'perl', 'python', 'php', 'c', 'ruby']>>> languagelist[languagelist.index('c')] = 'java'>>> languagelist['python', 'shell', 'perl', 'python', 'php', 'java', 'ruby']
运算符
>>> languagelist['shell', 'perl', 'python', 'php', 'java', 'c++', 'lisp', 'go', 'ruby']>>> languagelist = languagelist + ['python','c']>>> languagelist['shell', 'perl', 'python', 'php', 'java', 'c++', 'lisp', 'go', 'ruby', 'python', 'c']>>> languagelist += ['java']>>> languagelist['shell', 'perl', 'python', 'php', 'java', 'c++', 'lisp', 'go', 'ruby', 'python', 'c', 'java']>>> numlist = [1,2,3] * 3>>> numlist[1, 2, 3, 1, 2, 3, 1, 2, 3]
排序
>>> numlist = [2,5,3,6,1,4]>>> numlist.reverse()>>> numlist[4, 1, 6, 3, 5, 2]>>> numlist[::-1] #和reverse效果相同>>> numlist[2, 5, 3, 6, 1, 4]>>> numlist.sort()>>> numlist[1, 2, 3, 4, 5, 6]
sort可接受参数
cmp,比较函数,接受两个参数,小于时返回负,大于返回正,相等返回0key,指定排序键reverse,指定是否反序
列表的比较操作 , 隐式调用cmp方法 , 比较规则是逐个扫描元素进行比较, 如果可以比较 , 则比较, 如果相等扫描下一个元素 , 如果不相等返回结果 , 如果两个元素类型不可以比较 , 就比较两个对象的 id()值。如果一直相等 ,直到一个列表扫描结束 , 那么返回较长的列表较大
>>> l = [(13,54),(11,59),(15,55),(12,57),(10,56)]>>> l.sort(key=lambda x:x[1])>>> l[(13, 54), (15, 55), (10, 56), (12, 57), (11, 59)]>>> l.sort(key=lambda x:x[1],reverse=1) #或者reverse=true>>> l[(11, 59), (12, 57), (10, 56), (15, 55), (13, 54)]
sort与sorted函数区别
numlist = [2, 5, 3, 6, 1, 4]>>> sorted(numlist)[1, 2, 3, 4, 5, 6]>>> numlist[2, 5, 3, 6, 1, 4]>>> numlist.sort()>>> numlist[1, 2, 3, 4, 5, 6]
sort: 在原list上排序,不返回排序后的list
sorted: 不改变原list,返回排序后的list
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product