zoukankan      html  css  js  c++  java
  • enumerate函数、深拷贝浅拷贝

    enumerate()是python的内置函数,
    enumerate参数为可遍历、迭代的对象,多用户for循环中得到计数、同时获得索引和值,返回一个enumerate对象
    list = [4,5,6,7,0,1,2]
    for index,value in enumerate(list)
    for index,value in enumerate(list,1)#索引从1开始

    统计文件的行数、可以用enumerate

    count = 0
    for index, line in enumerate(open('123.txt','r',encoding='utf-8')):
        count +=1

     浅拷贝:

    import copy
    list1 = [[1,2],'fei',66]
    list2 = copy.copy(list1)  #浅拷贝
    print(id(list1))  #222196936
    print(id(list2))  #222197064  对象地址不同
    
    # 改变原始对象中为可变类型的元素的值,会同时影响拷贝对象;
    list1[0][0] = 2
    print(list2)   #[[2, 2], 'fei', 66]
    # 改变原始对象中为不可变类型的元素的值,不会响拷贝对象。
    list1[1] = 'get'
    print(list2)  #[[2, 2], 'fei', 66]

    深拷贝:

    import copy
    list1 = [[1,2],'fei',66]
    list2 = copy.deepcopy(list1)  #深拷贝
    print(id(list1))  #222196936
    print(id(list2))  #222197064  对象地址不同
    
    # 改变原始对象中为可变类型的元素的值,不影响拷贝对象;
    list1[0][0] = 2
    print(list2)   #[[1, 2], 'fei', 66]
    # 改变原始对象中为不可变类型的元素的值,不影响拷贝对象。
    list1[1] = 'get'
    print(list2)  #[[1, 2], 'fei', 66]


  • 相关阅读:
    Codeforces 101487E
    算法笔记--2-sat
    算法笔记--图的存储之链式前向星
    算法笔记--强连通分量分解
    Uva 11995 I Can Guess the Data Structure!
    算法笔记--米勒-罗宾素数测试
    HDU 5183 Negative and Positive (NP)
    算法笔记--快读(输入外挂)模板
    POJ 3258 River Hopscotch
    HDU 2289 Cup
  • 原文地址:https://www.cnblogs.com/whcp855/p/13063785.html
Copyright © 2011-2022 走看看