zoukankan      html  css  js  c++  java
  • 可迭代对象的操作与深浅拷贝

    1.str().join列表变成字符串

    s = "sb".join(["王者荣耀", "LOL", "跑跑卡丁车"])
    print(s)
    

     2.列表在循环的时候不能做增删除操作:

    (因为索引会随着循环的时候发生改变)

    lst=["周杰伦","周星驰","周润发","马化腾","周树人"]
    lst1=[]
    for i in lst :
        if i[0]=="周":
            lst1.append(i)
    for j in lst1:
        lst.remove(j)
    print(lst)
    

     3.字典内容也不能删除:(不能进行以下操作,会显示字典大小在迭代时不可更改)

    dic = {"a":"123", "b":"456"}
    for k in dic:
        dic.setdefault("c", "123")
    

     4.fromkeys的用法,fromkeys输出的必然是一个新的字典,并且不受前面给出的字典影响:

    a = dict.fromkeys(["jj", 'jay', 'taibai'], "sb")  # 静态方法
    
    
    dic = {"a":"123"}
    s = dic.fromkeys("王健林", "思聪" ) # 返回给你一个新字典
    print(s)
    

     如下为fromkeys输出结果:

    {'jj': 'sb', 'jay': 'sb', 'taibai': 'sb'}
    {'王': '思聪', '健': '思聪', '林': '思聪'}
    

     5.set  不重复,无序的

    s = {"王者荣耀", "英雄联盟", "王者荣耀", 123, True, True}
    print(s)
    s = {123, {1,2,3}}    # 不合法
    print(s)
    
    lst = ["张强", "李强", "王磊", "刘伟", "张伟", "张伟", "刘洋", "刘洋"]
    s = set(lst)    # 去重复
    print(s)
    
    # 变回来
    lst = list(s)
    print(lst)
    

     输出结果为:

    {'英雄联盟', '王者荣耀', 123, True}
    Traceback (most recent call last):
      File "E:/python资料视频/day07/code/05 set集合.py", line 10, in <module>
        s = {123, {1,2,3}}    # 不合法
    TypeError: unhashable type: 'set'
    

     6.深浅拷贝:

    列表单纯的=两端的内存地址是一样的,浅拷贝直接使用lst1=lst.copy()拷贝:

    lst=["周杰伦","周星驰","周润发","马化腾","周树人"]
    lst1=lst
    
    lst1.append("林俊杰")
    print(lst1,lst)
    lst2=lst.copy()
    lst3=lst[:]
    lst2.append("林俊杰")
    print(lst2,lst,lst3)
    

     深度拷贝,先引入深度 import copy:

    import copy
    lst1 = ["超人", "七龙珠", "葫芦娃", "山中小猎人", ["金城武", "王力宏", "渣渣辉"]]
    lst2 = copy.deepcopy(lst1)  # 把lst1扔进去进行深度拷贝 , 包括内部的所有内容进行拷贝
    lst1[4].append("大阳哥")
    print(lst1, lst2)
    
  • 相关阅读:
    Sum Root to Leaf Numbers 解答
    459. Repeated Substring Pattern
    71. Simplify Path
    89. Gray Code
    73. Set Matrix Zeroes
    297. Serialize and Deserialize Binary Tree
    449. Serialize and Deserialize BST
    451. Sort Characters By Frequency
    165. Compare Version Numbers
    447. Number of Boomerangs
  • 原文地址:https://www.cnblogs.com/zhangdaye/p/9289133.html
Copyright © 2011-2022 走看看