zoukankan      html  css  js  c++  java
  • python入门4 (列表)

    1.为什么需要列表

    a=10 #变量存储的是一个对象的引用
    lst=['hello','world',98]
    print(id(lst))
    print(type(lst))
    print(lst)

     2.列表的创建

    '''创建列表的第一种方式,使用[]'''
    lst =['hello','world',98]
    print(lst)
    '''创建列表的第二种方式,使用内置函数list()'''
    lst2=(['hello','world',90])
    print(lst2)

    3.列表的特点

    lst=['hello','world',90,'hello']
    print(lst)
    print(lst[0],lst[-4])

     4.获取指定元素的索引

    lst=['hello','world',98,'hello']
    print(lst.index('hello'))
    
    #print(lst.index('pyhton')) ValueError: 'pyhton' is not in list
    #print(lst.index('hello',1,3)) ValueError: 'hello' is not in list
    print(lst.index('hello',1,4))

    5.获取列表中的多个元素,切片操作

    lst=[10,20,30,40,50,60,70,80]
    #start=1,stop=6,step1
    print('原列表',id(lst))
    lst2=lst[1:6:1]
    print('切的片段:',id(lst2))
    print(lst[1:6])#默认step=1
    #start=1,stop=6,step=2
    print(lst[1:6:2])
    #stop=6,step=2,start采用默认
    print(lst[:6:2])
    #start=1,step=2,stop采用默认
    print(lst[1::2])
    print('-----step步长为负数的情况----------')
    print('原列表',lst)
    print(lst[::-1])
    #start=-7,stop省略,step=1
    print(lst[7::-1])
    #start=6,stop=0,step=-2
    print(lst[7:0:-2])

     6.列表元素的判断和遍历

    print('p' in 'python')
    print('k' not in 'python')
    lst=[10,20,'python','hello']
    print(10 not in lst)

     7.列表元素的添加操作

    lst=[10,20,30]
    print('添加元素之前:',lst,id(lst))
    lst.append(100)
    print('添加元素之后:',lst,id(lst))
    lst2=['hello','world']
    #lst.append(lst2) [10, 20, 30, 100, ['hello', 'world']]
    
    lst.extend(lst2)#向列表的末尾一次性添加多个元素
    print(lst)
    
    #在任意位置添加一个元素
    lst.insert(1,90)
    print(lst)
    
    lst3=['True','False','hello']
    #在任意位置上添加多个元素
    lst[1:]=lst3
    print(lst)

     8.列表的删除操作

    lst=[10,20,30,40,50,60,30]
    lst.remove(30) #从列表中移除一个元素,如果有重复元素只移除第一个元素
    print(lst)
    
    #pop() 根据索引移除元素
    lst.pop(1)
    print(lst)
    #lst.pop(5) IndexError: pop index out of range 如果指定的索引位置不存在,将抛出异常
    lst.pop() #如果不指定参数(索引),将删除列表中的最后一个元素
    print(lst)
    
    print('-----------切片操作,删除至少一个元素,将产生一个新的列表对象---------------')
    new_lst=lst[1:3]
    print('原列表',lst,id(lst))
    print('切片后的列表',new_lst,id(new_lst))
    
    '''不产生新的列表对象,而是删除原列表中的内容'''
    lst[1:3]=[]
    print(lst,id(lst))
    
    '''清除列表中的所有元素'''
    lst.clear()
    print(lst)
    
    '''del语句将列表对象删除'''
    del lst
    #print(lst) NameError: name 'lst' is not defined

    9.列表的修改

    lst=[10,20,30,40]
    #一次修改一个值
    lst[2]=100
    print(lst)
    
    #修改多个值
    lst[1:3]=[300,400,500,600]
    print(lst)

    10.列表的排序

    lst=[20,40,10,98,54]
    print('排序前的列表',lst,id(lst))
    #开始排序,调用列表对象的sort方法,升序排序
    lst.sort()
    print('排序后的列表',lst,id(lst))
    
    #通过指定关键字参数,将列表中的元素进行降序排序
    lst.sort(reverse=True) #reverse True表示降序排序,reverse False表示升序排序
    print(lst)
    
    print('-----------使用内置函数sroted()对列表进行排序,将产生一个新的列表对象-----------')
    new_lst=sorted(lst)
    print(lst,id(lst))
    print(new_lst,id(new_lst))
    #指定关键字参数,实现列表元素的降序排序
    desc_list=sorted(lst,reverse=True)
    print(desc_list)

    11.列表的生成式

    lst=[i*i for i in range(1,10)]
    print(lst)
    
    '''列表中的元素的值为2,4,6,8,10'''
    lst2=[i*2 for i in range(1,11)]
    print(lst2)

  • 相关阅读:
    MySQL性能调优语句
    APP测试
    JForum项目搭建
    Bug的等级及定位
    mysql any和all的用法
    mysql产生随机数
    MySQL存储过程例子
    【转】 卡特兰数
    牛客小白月赛5 I 区间 (interval) 【前缀和】
    牛客小白月赛5 D 阶乘(factorial) 【前缀】
  • 原文地址:https://www.cnblogs.com/liuyi13535496566/p/15617194.html
Copyright © 2011-2022 走看看