zoukankan      html  css  js  c++  java
  • Python列表的增删改查和元祖

    
    
    一、定义列表
    
    
    1.names = ['mike','mark','candice','laular'] #定义列表
    
    
    2.num_list = list(range(1,10)) #range生成1-10范围内的数,并强制转化成列表
    
    
    二、增:append()、insert()方法
    
    
    1.append()方法:在末尾添加元素
    
    
    #szz = ['ab','jhj','nhy']
    
    
    #szz.append('msr')
    
    
    #szz打印结果:['ab', 'jhj', 'nhy', 'msr']
    
    
    2.insert()方法:在指定位置添加元素或者列表
    
    
    #szz = ['ab','jhj','nhy']
    
    
    #szz1 = ['msr','mike']
    
    
    #szz.insert(0,'mark') #szz打印结果['mark', 'ab', 'jhj', 'nhy']
    
    
    #szz.insert(0,szz1) #szz打印结果[['msr', 'mike'], 'ab', 'jhj', 'nhy']
    
    
    三、删:del、pop()、remove()、clear()
    
    
    1.del:可以删除指定下标的值
    
    
    #del szz[1] #删除下标为1的值
    
    
    2.pop()方法: #默认从列表的末尾删除,也可以删除指定的值
    
    
    #szz.pop() #默认删除末尾的值
    
    
    #szz.pop(1) #删除下标为1的值
    
    
    3.remove()方法:删除指定的值
    
    
    #szz =[['msr', 'mike'], 'ab', 'jhj', 'nhy']
    
    
    #szz.remove('jhj') #在原list中的可以直接删除
    
    
    #szz[0].remove('mike') #在另一个list里的需要定位到list才能删除,szz.remove('mike')这种方法是不能正确执行的,会报错ValueError: list.remove(x): x not in list
    
    
    4.clear()方法:清空数据
    
    
    #szz.clear() #清空列表数据,如果有嵌套list也直接清空,无需定位到嵌套的list再清空
    
    
    四、改:
    
    
    1.通过定位到下标直接修改
    
    
    #['mark', 'ab', 'jhj', 'nhy']
    
    
    #szz[1] = 'zzj'
    
    
    #print(szz) #打印结果:['mark', 'zzj', 'jhj', 'nhy']
    
    
    五、查:查询列表可通过下标和切片的方式
    
    
    1.下标取值,从0开始
    
    
    #names = ['mike','mark','candice','laular'] #定义列表
    
    
    #print(names[2]) #读取列表的值
    
    
    #num_list = list(range(1,10)) #range生成一个长度为10的列表
    
    
    #print(num_list) #打印结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    
    2.切片:顾头不顾尾,且切片下标的操作同样用于字符串
    
    
    #names = ['mike','mark','candice','laular']
    
    
    #info = 'abcdefghijklmn'
    
    
    #num_list = list(range(1,10))
    
    
    #print(names[1:3]) #通过切片方式取值,切片是顾头不顾尾,打印结果:['mark', 'candice']
    
    
    #print(names[1:]) #取下标后面所有的值,打印结果:['mark', 'candice', 'laular']
    
    
    #print(names[:3]) #取下标前面所有的值,打印结果:['mike', 'mark', 'candice']
    
    
    #print(names[:]) #取所有的值,打印结果:['mike', 'mark', 'candice', 'laular']
    
    
    #print(names[-1]) #取最后一个值,打印结果:laular
    
    
    #print(names[:1:2])#隔几位取一次,默认不写步长为1,即隔一位取一次;结果为取下标为1之前的值,隔2位取一个['mike']
    
    
    #print(num_list[::-1])#从后往前取值,步长为1,打印结果:['laular', 'candice', 'mark', 'mike']
    
    
    #print(info[1:7]) #打印结果:bcdefg
    
    
    六、列表其他方法:
    
    
    1.index()方法:获取指定元素的下标
    
    
    #szz.index('jhj')
    
    
    2.count()方法:获取指定元素的次数
    
    
    #szz.count('mike')
    
    
    3.extend()方法:合并列表,修改原列表的值,只能合并到原列表的末尾
    
    
    #szz = ['ab','jhj','nhy']
    
    
    #szz1 = ['msr','mike']
    
    
    #szz.extend(szz1) #打印结果:['ab', 'jhj', 'nhy', 'msr', 'mike']
    
    
    4.sort()方法:进行排序,默认是升序,想要降序排序需要加:reverse=True ,reverse返转的意思
    
    
    #sort本身只是一个方法,没有返回值,所以不能打印
    
    
    #numbs = [12,425,334,32]
    
    
    #numbs.sort()
    
    
    #print numbs #打印结果:[12, 32, 334, 425]
    
    
    #numbs.sort(reverse=True)
    
    
    #print numbs #打印结果:[425, 334, 32, 12]
    
    
    七、insert和extend的区别:
    
    
    1.insert可以指定插入元素的位置,extend不能指定,只能合并到末尾
    
    
    2.insert是在原列表的基础上增加元素,什么都可以加(列表、字符串……),extend只能合并2个列表,对列表进行扩展,不能添加字符串
    
    
    八、元祖
    
    
    1.元组的值,不能改变,是一个不可便的列表,可以通过访问下标和切片的方式查询,但是想要修改必须先转成list
    
    
    #tup1 = ('physics', 'chemistry', 1997, 2000)  #定义元祖
    #print tup1[1]   #打印结果:chemistry
    #tup1[0] = 100   #这种修改方式是非法的
    #tup2=list(tup1) #想要修改元祖,必须先将其转换成list才可以
    #print tup2      #打印结果:['physics', 'chemistry', 1997, 2000]
    #tup2[2] = '1989'
    #print tup2           #打印结果:['physics', 'chemistry', 1989, 2000]
    2.元祖只有count和index方法
    
    
    names = ('mike','mark','candice','laular','mark','msr')
    
    
    print(names.count('mark')) #打印结果:2
    
    
    print(names.index('msr')) #打印结果:5
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
  • 相关阅读:
    Javascript FP-ramdajs
    微信小程序开发
    SPA for HTML5
    One Liners to Impress Your Friends
    Sass (Syntactically Awesome StyleSheets)
    iOS App Icon Template 5.0
    React Native Life Cycle and Communication
    Meteor framework
    RESTful Mongodb
    Server-sent Events
  • 原文地址:https://www.cnblogs.com/musr/p/6058421.html
Copyright © 2011-2022 走看看