zoukankan      html  css  js  c++  java
  • python基础之列表篇

    LIST:

    简介:列表是python中最基本的数据结构之一,每个元素都会被分配一个数字也就是索引,亦称为下标。他的第一个元素对应的索引为0,第二个对应的索引为1,以此类推。

    一, 列表的声明与赋值

    #列表的声明
    list1 = ['pisa','heitang','lurou','mianhuatang']
    list2 = ['cat','dog','pig']
    list3 = ['softdrink','wine','bear']

    二,列表的查询

    '''
    如何读取列表中的元素?
    '''
    list1 = ['pisa','heitang','mianhuatang']
    cat1
    = list1[0] #pisa cat2 = list1[1] #heitang cat3 = list[2] # mianhuatang cat4 = list[-1] # mianhuatang cat5 = list[-2] #heitang cat6 = list[-3] # pisa

    三,列表的切片

    '''
    列表的切片
    '''
    list = ['pisa','heitang','mianhuatang','lurou','panghua']
    #获取前三只猫
    getThreeCat = list[:3] 
    getThreeCat = list[0:3] #获取第二只猫和第四只猫 heitang,lurou getSecondAndFourthCat = list[1:4:2] #['heitang','lurou'] getSecondAndFourthCat = list[-4:-1:2] #获取最后一只猫 panghua getLastCat = list[-1] #让整个吃货家族反转 getReverseCat = list[::-1]#['panghua', 'lurou', 'mianhuatang', 'heitang', 'pisa']

     四,列表添加元素

    '''
    列表添加元素的三种方法 insert(插入) extend(迭代添加) append(追加)
    '''
    #列表的添加之 append
    list1 = ['pisa','lurou']
    list1.append('mianhuatang') #['pisa','lurou','mianhuatang']
    
    #列表的迭代添加
    list1 = ['pisa','mianhuatang','lurou']
    list2 = ['heitang','panghua']
    list1.extend(list2) # ['pisa', 'mianhuatang', 'lurou', 'heitang', 'panghua']
    list2.extend(list1) # ['heitang', 'panghua', 'pisa', 'mianhuatang', 'lurou']
    
    #指定位置添加insert(索引,元素) 
    list1 = ['heitang','pisa','lurou']
    list1.insert(1,'panghua') # ['heitang', 'panghua', 'pisa', 'lurou']

    五,列表删除元素

    '''
    列表删除元素 pop,del,remove,clear以及切片的舍弃
    '''
    #pop() 默认删除最后一个元素,并返回,如果指定索引,则删除对应的值,后面元素的索引自动减一
    
    list = ['pisa','mianhuatang','heitang','lurou','panghua']
    cat1 = list.pop() #panghua
    print(list) #['pisa','panghua','heitang','lurou']
    
    list2 = ['pisa','mianhuatang','heitang','lurou','panghua']
    cat2  = list2.pop(2) # heitang
    print(list2) #['pisa','mianhuatang','lurou','panghua']
    
    #del 是删除整个列表,也就是从内存中抹去这个列表的指针
    list3 = ['pisa','mianhuatang','heitang','lurou','panghua']
    print(list3) #['pisa','mianhuatang,'heitang','lurou','panghua']
    del list3
    print(list3) # NameError: name 'list3' is not defined
    
    #remove() 是 删除元素,一次也只能删除一个元素,返回值 None
    list4 = ['pisa','mianhuatang','heitang','lurou','panghua']
    list4.remove('pisa')  #['mianhuatang', 'heitang', 'lurou', 'panghua']
    
    #clear 清空整个列表
    list5 = ['pisa','mianhuatang','heitang','lurou','panghua']
    list5.clear() # []
    
    #切片删除相应的元素
    list6 =  ['pisa','mianhuatang','heitang','lurou','panghua']
    list7 = list6[0:2] #  得到['pisa','mianhuatang'] 删除了heitang,lurou和panghua

    六,列表的更新

    #重新赋值法
    list1 = ['a','b','c','d']
    list1[1] = 3;#['a',3,'c','d']
    #可迭代对象
    list2 = ['a','b','c','d']
    list2[:2] = '89' #[8,9,'c','d']
    list3 = ['a','b','c','d']
    list3[:3] = '56' #['5','6','d'] ?为什么是['5','6','d']而不是['5','6','5','d']或者['5','6','c','d']? 首先迭代对象只能循环一次,也是'5'和'6',而切片只是要覆盖'a','b','c',而我们迭代对象只有两位,这样就少了一位,就舍弃掉,变成了['5','6','d']

    七,列表的内置函数

    #列表的长度
    list1 = ['pisa','mianhuatang','panghua','lurou','heitang']
    cat_len = len(list1) # 5
    
    #列表的copy 复制一个副本给其他变量
    list2 = ['pisa','mianhuatang','panghua','lurou','heitang']
    list3 = list2.copy()
    print(list3) # ['pisa','mianhuatang','panghua','lurou','heitang'] 需要特别的注意python2.x 没有copy方法
    
    #列表的count 统计出现的次数 返回一个Integer
    list4 = ['a','b','c','c','d']
    list4.count('c') # 2
    
    #列表的index 查询L.index(value, [start, [stop]]) 如果没有则报错(ValueError)
    list5 = ['pisa','mianhuatang','panghua','lurou','heitang']
    list5.index('panghua') # 2
    list5.index('heierduo') # ValueError
    
    #sort    L.sort(key=None, reverse=False) 没有返回值
    list6 = [1,3,5,3,7,0]
    list6.sort() # [0, 1, 3, 3, 5, 7]
    list6.sort(reverse=True) # [7, 5, 3, 3, 1, 0]
    
    #reverse 反转 L.reverse() -- reverse *IN PLACE*
    list7 =  ['a','b','c','d']
    list7.reverse() # ['d', 'c', 'b', 'a']
    
    # append,clear,extend,insert,pop,remove,上面已经提及过
    列表的循环遍历
    1.for循环
        nameList = ['zhangsan','lisi','wangwu']
        for i in nameList:
            print(i)
        
        结果:
            zhangsan
            lisi
            wangwu
    
        for i in nameList:
            print(nameList.index(i))
        
        结果:
            0
            1
            2
    
    2.while循环
        nameList = ['zhangsan','lisi','wangwu']
        len1 = len(nameList)
        while len1>=0:
            print(nameList[len1])
            len1 -=1
        结果:
            wangwu
            lisi
            zhangsan
  • 相关阅读:
    买卖股票的最佳时机
    删除排序数组中的重复数字
    软件工程第五次作业:个人总结
    软件工程第二次作业——结对编程
    第一次软件工程作业补充plus
    第二次(四则运算,)
    我的第一次
    软件工程--个人总结
    软件工程第二次作业—结对编程
    软件工程第一次作业补充
  • 原文地址:https://www.cnblogs.com/wuxiaoshi/p/9734323.html
Copyright © 2011-2022 走看看