• python学习,day2:列表的复制


    主要涉及列表的潜复制(第二层受后面修改的影响)和深复制(不受后面修改的影响)

    代码如下

    # coding=utf-8
    # Author: RyAn Bi
    import copy
    names = ['A','B','C','D']
    '''
    print(names)
    print(names[0]) #从0开始记录
    print(names[1],names[2])
    print(names[1:3]) #不包含3
    print(names[3])
    print(names[-1]) #倒着数
    print(names[-2:]) #取-2到-1,由于没有办法包含-1,所以不写
    
    names.append('F') #在最后追加一个F
    names.insert(1,'E') #在1的位置,加入E,之后依次后挪
    print(names)
    
    names[2] = 'G' #修改了2号的名字
    print(names)
    
    names.remove('G') #删除G
    print(names)
    del names[1] #删除下标1
    print(names)
    names.pop()#默认删除最后一个,如果加入下标1,相当于删除下标1,等同于del names[1]
    print(names)
    print(names.index('A')) #找A的位置
    print(names[names.index('A')]) #找到A的位置,并打印A
    names.insert(1,"A")
    print(names.count('A'))  #统计A的数量
    #names.clear()   #清空列表
    names.reverse()   #翻转列表
    print(names)
    names.sort() #排序,默认顺序(ask码中的排序)
    print(names)
    names2=[1,2,3,5]
    
    names.extend(names2) #将names和names2合并
    print(names,names2)
    del names2 #删除name2表
    '''
    names3 = ['A','B',['bb','cc'],'C','D']
    names2 = names3.copy() # 复制一份names,潜复制,只能复制第一层,之后,第一层改动不会变
    names4 = names3 # 完全一样,后面改动,也会改动
    names5 = copy.deepcopy(names3)  #调用copy模块里的copy,之后怎么改动,哪一层都不会变
    print(names3)
    print(names2)
    names3[3]='' #修改下标3,只在names3中改,names2不改(潜copy,第一层直接copy)
    names3[2][0]=''  #修改下标2中的下标1,这个name3和那么2中都改(潜copy,列表实际上内存中的一个指针,你只copy了地址),第二层的不会被copy
    print('name3:',names3) # 原始值,改动后
    print('name2:',names2) # 潜copy,第一层不变,第二层由于指向内存里内容变了,所以变了
    print('name4:',names4) #赋值复制,第一层和第二层都变了
    print('name5:',names5) #深copy,必须调用copy模块,第一层和第二层都不变
    
    for i in names2:
        print(i)
    
    print(names2[0:-1:2])  #打印偶数位
    print(names2[::2]) #同上
  • 相关阅读:
    Java程序员必知的8大排序
    Servlet与JSP间的传值问题
    Servlet上传文件详细解析以及注意事项
    JSP入门学习经验
    统计语言模型(Statistical Language Models)(条件概率公式)
    自定义用户控件ascx
    asp.net相对路径、绝对路径
    A list of supported CSS selectors when invoking g(..)
    一位研究生导师心目中理想的论文(转)
    常用软件
  • 原文地址:https://www.cnblogs.com/bbgoal/p/10243195.html
Copyright © 2020-2023  润新知