zoukankan      html  css  js  c++  java
  • python 日常学习2-------列表和元组

    -------------------------------列表增删改查-----------------------------------
    li = ['散光','柱子','钢盔','发哥','asan']
    ''''''
    #列表最后面添加
    li.append('峰哥')
    
    #选择在某个位置添加
    li.insert(1,'小明')
    
    #迭代添加,也是添加到最后。下面例子分别把二和哥添加到列表中
    li.extend('二哥')
    
    #删, 按照索引删除,pop有返回值,是其删除的元素,
    li.pop(1) #索引里什么都不写,默认删除最后一个
    
    
    #按照元素删除
    li.remove('asan')
    
    
    #清空列表
    #li.clear()
    
    
    #删除这个列表
    #del li
    
    #切片删除,例如删除前三个。
    #del li[0:3]
    
    #改  1.找到这个位置,直接改。
    li[0] = 'sanguang'
    
    #切片修改,后面修改内容随便填写,会迭代的改。如下例子。
    li[0:2]= '二哥云姐'
    
    #查 方式1.for循环
    #查 方式2,切片
    print(li[0:2])
    
    #公共方法:
    #列表长度
    L = len(li)
    
    #某个元素出现次数
    i = li.count('')
    print(i)
    
    #找到元素索引,如果没有则报错
    print(li.index('钢盔'))
    print(li)
    
    #列表排序.sort默认正序排序从小到大。
    ls = [1,4,3,66,32]
    
    #ls.sort()
    ls.sort(reverse=True)#倒序,从大到小
    #f反转
    print(ls)
    ls.reverse()
    print(ls)
    View Code
    
    
    

    #------------------------------------列表---------------------------------------

    names = ['a','b','c','d']

    #-------------------------------------列表插入数据俩种方式:-----------------------
    names.append('f')
    print('append添加f',names)
    #数据结果: append添加f ['a', 'b', 'c', 'd', 'f']

    names.insert(1,'g')
    print('insert指定位置添加g',names)
    #输出结果['a', 'g', 'b', 'c', 'd', 'f']

    #---------------------------------------列表改值---------------------------------
    names[2] = 'r'
    print('列表第三个数据修改为r:',names)
    #输出结果: 列表第三个数据修改为r: ['a', 'g', 'r', 'c', 'd', 'f']
    #----------------------------------------删除--------------------------
    names.remove('r')
    print('删除r后的数组',names)
    #输出结果:删除r后的数组 ['a', 'g', 'c', 'd', 'f']
    del names[1]
    print('删除列表第二个数据',names)
    #输出结果:删除列表第二个数据 ['a', 'c', 'd', 'f']

    # 该方法输入下标。默认删除最后一个,输入下标等同于del 方法。
    names.pop()
    print('默认删除最后一个数据',names)
    #输出结果:默认删除最后一个数据 ['a', 'c', 'd']
    #--------------------------------------查找数据在列表中的位置-----------------
    names.index('c')
    # names.count('')查找列表中相同元素有几个。
    #----------------------------------列表的浅copy和深copy------------------
    #想要完全复制,引入模块,import copy    用copy.deepcopy方法
    
    
    import copy
    names = ['a','b',['h','l'],'d','e']
    name3 = names.copy()
    #想要完全复制,引入模块,import copy 用copy.deepcopy方法
    name4 = copy.deepcopy(names)

    names[1] = 'wang'
    print('names = ',names)
    print('浅name3 = ',name3)
    print('深copyname4 = ',name4)
    # 输出结果如下:
    names =  ['a', 'wang', ['h', 'l'], 'd', 'e']
    浅name3 =  ['a', 'b', ['h', 'l'], 'd', 'e']
    深copyname4 =  ['a', 'b', ['h', 'l'], 'd', 'e']
    由此可见,俩种拷贝方式,都不会因为列表names的第一层数据改变而改变
    改变names列表里嵌套的列表内容
    names[2][0] ='H'
    print('names = ',names)
    print('浅name3 = ',name3)
    print('深copyname4 = ',name4)
    #输出结果如下
    names =  ['a', 'wang', ['H', 'l'], 'd', 'e']
    浅name3 =  ['a', 'b', ['H', 'l'], 'd', 'e']
    深copyname4 =  ['a', 'b', ['h', 'l'], 'd', 'e']
    由此可见,name3列表会跟随names列表发生变化,name4不会,因为copy是浅copy,
    name3只copy了names列表的第一层,其中嵌套的列表没有拷贝,names修改其中内容时,
    name3也会随着改变,深拷贝是完全copy,不会因names的变化发生变化
    浅copy只是引用数据
    # ----------------------------------------------列表切片------------------

    names = ['a','b','c','d']
    print('切片1:3结果',names[1:3])
    # 输出结果 ['b', 'c']
    print('切片0:3结果',names[0:3])
    #输出结果:切片0:3结果 ['a', 'b', 'c']
    #创建一个列表
    L = list(range(100))
    print("取前10", L[: 10])
    #输出结果:取前10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    print("80--90之间", L[-20:-10])  
    #输出结果:80--90之间 [80, 81, 82, 83, 84, 85, 86, 87, 88, 89]

    print("80---90之间", L[80:90])         
    #输出结果:80---90之间 [80, 81, 82, 83, 84, 85, 86, 87, 88, 89]

    print("前10个数,每俩个取一个", L[:10:2])   
    #输出结果:前10个数,每俩个取一个 [0, 2, 4, 6, 8]

    print("所有数,每5个取一个", L[::5])      
    #输出结果:所有数,每5个取一个 [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

    #生成器
    Listd = [x * x for x in range(1, 11)]
    print(Listd)           #输出结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    # ------------运用列表生成式去掉列表中的非字符串类型,并把字符串首字母换成小写---------------------
    listlx = ["Hello", "World", 18, "Apple"]
    xlist = [x.lower() for x in listlx if isinstance(x, str) == True]
    print(xlist)
    #输出结果:['hello', 'world', 'apple']


    ---------------------------------------------------元组tuple------------------------------------------------
    元祖也是一组数据,可以看成只读列表,只要一旦创建,便不能再修改,只有count和index俩个方法,




    --------------------------------------------元组和列表的补充---------------------------------------------------

     列表的嵌套
    
    li = ['taibai','武藤兰','陈浩',['bill','柱子',89],23]
    
    #输出藤
    str = li[1]
    n = str[1]
    print(n)
    
    # taibai T 大写
    str1 = li[0]
    name = str1.capitalize()
    li[0] = name
    print(li)
    
    #找到陈浩,改成陈日天,放回去
    tname = li[2]
    li[2]=tname.replace('','日天')
    print(li)
    
    #列表转换成字符串, jion
    lb = ['taibai','武藤兰','陈浩bill','柱子']
    ss = ''.join(lb)
    print('ss的内容是',ss)
    
    #str 转换成 列表 用split()
    xlist = ss.split()
    print(xlist)
    
    #元祖 ---只读列表,可循环,可切片
    # 儿子不能改,孙子可以改.例如,可修改列表中的zhuzi首字母大写,或者添加对象
    
    tu = (1,2,3,'sanguang',[2,3,4,'zhuzi'],'egon')
    
    tu[4][3] = tu[4][3].capitalize()
    tu[4][3] = 'sb'
    print(tu)
    
    #输出 3-9
    # for i in range(3,10):
    #     print(i)
    #
    #输出0-9
    # for i in range(10):
    #     print(i)
    #输出 3的倍数
    for i in range(0,10,3):
        print(i)
    
    #倒序输出
    for i in range(10,0,-2):
        print(i)
    
    #循环输出列表内容,遇到列表也输出其中的内容
    listd = [1,2,3,4,'ale',['sanguang','钢盔','发哥'],'zhuzi']
    
    for i in listd:
        if type(i).__name__ =='list':
            for n  in i:
                print(n)
        else:
            print(i)
    View Code
    
    

     

  • 相关阅读:
    Microsoft 365 开发篇:建立医疗组织的Microsoft Teams 模板
    Microsoft 365 开发篇:将SharePoint Online的Site Collection保存为模板
    Microsoft 365 开发:updateRecordingStatus API 发布
    Microsoft 365开发篇:Microsoft Build 2020 关于Graph API 更新
    线上公开认知课:软件开发
    Microsoft Build 2020:Microsoft Teams 新功能概览
    Microsoft 365 开发篇:Teams Export API支持数据导出
    201306114357—实验2
    test
    正则表达式
  • 原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/7808773.html
Copyright © 2011-2022 走看看