• 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
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
     
    
    
  • 相关阅读:
    将包含<pre>标签的json转换成js
    JS 获取系统时间
    JS 对url进行编码
    DevExpress.XtraCharts.ChartControl 实例
    VB 窗体继承
    datagrid 属性
    SQLite操作总结
    Struts2 简介及学习方法介绍
    struts2 中使用DMI(动态调用方法)方式配置action
    JSP 里 的 basePath
  • 原文地址:https://www.cnblogs.com/musr/p/6058421.html
Copyright © 2020-2023  润新知