博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 中的列表(list)
阅读量:5124 次
发布时间:2019-06-13

本文共 3920 字,大约阅读时间需要 13 分钟。

一、生成一个列表

  • 直接生成
    L1 = [1, 2, 3, 4, 5]
  • 列表解析式
>>> L2 = [x for x in range(1, 10, 2)]  #从1到10的迭代,步长为2,形成一个列表>>> print(L2)[1, 3, 5, 7, 9]>>> >>> [x for x in range(10) if x <5]   #从0到10当中,小于5的数字形成列表[0, 1, 2, 3, 4]

二、访问列表及列表的切片

list[index] 访问列表中索引处的值
L3 = ["A-0","B-1","C-2",'D-3',"E-4","F-5"]print("第零个元素:",L3[0],"\n第4个元素:",L3[4])#结果为:第零个元素: A-0 第4个元素: E-4
list[0: 3] 对列表中的第0个到第3个元素进行切片,同理还可以 list[ : 3]  或者list[3:6]
L4 = ["北京", "上海", "广州", "深圳", "天津", "重庆", "南京", "成都", "武汉", "长沙", "杭州", "昆明"]print(len(L4))          #len()函数返回列表长度print(L4[0: 4])        #切片从第0个到第4个,输入0,1,2,3这几个索引位置的元素#输出为:12['北京', '上海', '广州', '深圳']#----------------------------------分割线-------------------------------------print(L4[4: 8])        #中间切片print(L4[9: -1])        #第9到-1个print(L4[10: ])         #第10 到最后#输出为:['天津', '重庆', '南京', '成都']['长沙', '杭州']['杭州', '昆明']#----------------------------------分割线-------------------------------------#补充,字符串对象是可迭代的,也可以这样用哦!name = "Josh Vietti"print(len(name))print(name[5:])#结果为:11Vietti

三、列表的函数及操作

3.1 列表的函数

1、len(list) 返回列表长度,字符串也可以这么求长度,以及切片等,如上程序段,最后字符串部分。2、max(list) 返回列表中的最大值3、min(list) 返回列表中最小值4、list(seq) 把元组变为列表也是可以的

注意同类型的数据才能比较大小

l = [1, 3, 5, 4, 8, 11, 7]print("最大值为:max(l) = ",max(l),"\n最小值为:min(l) = ",min(l))tuple1 = (1,3,5,"s")l2 = list(tuple1)print("将元组转变为列表 list(tuple1) --->:",l2)try:    max(l2)       #l2列表中既有int又有str,数据类型不同不能比较except TypeError as e:    print(e)#以上程序运行结果为:最大值为:max(l) =  11 最小值为:min(l) =  1将元组转变为列表 list(tuple1) --->: [1, 3, 5, 's']unorderable types: str() > int()

3.2 列表的操作

1、list.append(obj)  在列表末尾添加对象2、list.count(obj)     统计某元素在列表中出现的次数3、list.extend(list_2)  将list_2列表追加到列表后,融合形成一个新列表4、list.index(ojb)    从列表中找出第一次匹配到该元素的位置5、list.insert(index, obj)   在index 索引位置插入对象obj6、list.pop(index)  删除并且返回索引处的值,默认删除列表最后一个值7、list.remove(obj) 移除列表中obj对象8、list.reverse()  将列表元素反转9、list.sort(key = func, reverse = False)   排序列表,key参数默认None,接受函数作为参数,会将函数应用于列表中的每一个元素。reverse参数False为正向排序,True为反向排序10、list.clear()  清空列表中所有元素,也可以用 del list[ : ] 来清空列表,注意 del list 会把整个列表删除
L1 = ["A", "B", "A", "C"]L2 = ["E", "F"]L1.append("d")    #1、list.append() 往L1末尾添加 'd'num_A = L1.count("A") #2、list.count() 统计L1中字符A的个数print("L1:", L1,"\n统计L1中字符A的个数:",num_A)L1.extend(L2)   #3、list.extend() 将L2融合到L1中index_d = L1.index("d")   #4、list.index() 查找'd'的索引print("新L1:", L1,"\nd的索引为:", index_d)#----------------------------------分割线-------------------------------------#结果为:L1: ['A', 'B', 'A', 'C', 'd'] 统计L1中字符A的个数: 2新L1: ['A', 'B', 'A', 'C', 'd', 'E', 'F'] d的索引为: 4#----------------------------------分割线-------------------------------------L1.remove("d")  #list.remove() 移除L1当中的'd'print("移除'd'后的L1:", L1)L1.insert(1, "D") #list.insert() 往L1索引1处插入大写'D'L2.insert(2,3)    #list.insert() 往L2索引2处插入数字3print("新L1:", L1, "\nL2:", L2)#----------------------------------分割线-------------------------------------#结果为:移除'd'后的L1: ['A', 'B', 'A', 'C', 'E', 'F']新L1: ['A', 'D', 'B', 'A', 'C', 'E', 'F'] L2: ['E', 'F', 3]#----------------------------------分割线-------------------------------------print("删除并返回L1中的第五个元素:", L1.pop(5),"\nL1:",L1)       #使用list.pop(index) 删除指定索引的值print("删除最后一个元素:", L1.pop(), '\n{0: ^8}:'.format("L1"), L1)L1.reverse()print('反置列表:', L1)L1.clear()    #list.clear()清空列表 del L2[:]    #del list[:] 清空列表print('清空列表L1:', L1)print('清空列表L2:',L2)#----------------------------------分割线-------------------------------------#结果为:删除并返回L1中的第五个元素: E L1: ['A', 'D', 'B', 'A', 'C', 'F']删除最后一个元素: F    L1   : ['A', 'D', 'B', 'A', 'C']反置列表: ['C', 'A', 'B', 'D', 'A']清空列表L1: []清空列表L2: []
  • list.sort()的应用
l_test = ["a", "B", "c"]l_test.sort(reverse= True)print("默认key=None直接排序,reverse= True 反排:", l_test)   #反向排序l_test.sort(key=str.upper)print("默认reverse,key=str.upper 将所有字符大写:", l_test)   #正向排序#----------------------------------分割线-------------------------------------#结果为:默认key=None直接排序,reverse= True 反排: ['c', 'a', 'B']默认reverse,key=str.upper 将所有字符大写: ['a', 'B', 'c']

转载于:https://www.cnblogs.com/shiqi17/p/9289898.html

你可能感兴趣的文章
pair的例子
查看>>
前端框架性能对比
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
12.2日常
查看>>
同步代码时忽略maven项目 target目录
查看>>
Oracle中包的创建
查看>>
团队开发之个人博客八(4月27)
查看>>
发布功能完成
查看>>
【原】小程序常见问题整理
查看>>
C# ITextSharp pdf 自动打印
查看>>
【Java】synchronized与lock的区别
查看>>
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
STM32F10x_RTC秒中断
查看>>
display:none和visiblity:hidden区别
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
牛的障碍Cow Steeplechase
查看>>
Zookeeper选举算法原理
查看>>
3月29日AM
查看>>