zoukankan      html  css  js  c++  java
  • set 集合 拷贝的操作

    1 str中的join方法,把列表转换成字符串

     s = "**".join(["哈哈", "嘻嘻", "哈哈"])
    print(s)
    

    2 列表和字典在循环的时候不能直接被删除

     1 lst = ["紫云","大云","玉溪","紫砖","a","b"]
       lst.clear()
    
    2 new_lst = []
       for el in lst:
          new_lst.append(el)
    
       for el in new_lsts:
         lst.remove(el)
       print(lst)
       print(new_lst)
    

    需要把要删除的内容记录到新列表中,然后循环新列表,删除字典或列表

    lst = ["张国荣","张铁林","张国立","张曼玉","汪峰"]   #删除姓张的
    zhangs = []
    for el in lst:
     if el.starswith(""张)
        zhangs.append(el)
    for el in zhangs:
     lst.remove(el)
    print(lst)
    print(zhangs)
    
    dic = {"提莫":"冯提莫","发姐":"陈一发","55开":"卢本伟"}
    dic.clear()   #直接删除
    
    lst[]
    for k in dic :    
       lst.append(k)
    for el in lst:
     dic.pop(el)
    print(dic)   #综上述 列表和字典都不能在循环中进行删除,字典再循环的时候不予许改变大小
    

    3 fromkeys()

    dic ={"apple":"苹果","banana":"香蕉"}
    # 返回新字典,和原来的没有关系
    
    ret = dic.fromkeys("orange","橘子")  #直接用字典去访问fromkeys不会对字典产生任何影响
    
    ret = dict.fromkeys("abc",["哈哈","呵呵","嘿嘿"]
    print(ret)      #fromkeys 直接使用类名去访问
    

    1 返回新字典 对原字典没有影响

    2 后面的values 是多个key共享一个value

    二 set集合

    特点 :

    无序 不重复 元素必须是哈希(不可变)

    s = {"周杰伦","昆仑","坤琳",(1,2,3),"周杰伦"}
    lst = [11,22,33,55,6,7,88,9,10,11,22]
    s = set(list)    #把列表转换成集合,进行去重复
    lst = list(s)
    print(lst)
    

    作用:

    去重复

    本身是可变的数据类型 有增删改查操作

    s = {"刘嘉玲",关之琳","王祖贤"}
    s.update("马化腾")   #迭代更新
    print(s)
    

    frozenset()冻结的集合,不可变的 可哈希的

    三 深浅拷贝

    1 赋值 没有创建新对象 公用一个对象

    2 浅拷贝 拷贝第一层的内容 [:] 或 copy()

    lst1 = ["金毛狮王", "紫衫龙王", "青翼蝠王", "白眉鹰王",["张无忌","赵敏","周芷若"]]
    lst2 = lst1[:]          #浅拷贝
    lst2 = lst1.copy()    #浅拷贝
    lst2 = copy.deepcopy(lst1)
    
    print(lst1)
    print(lst2)
    
    # 1 赋值操作 没有创建新对象
        2 浅拷贝 只拷贝第一层内容 [:]  copy()
        3 深拷贝 把这个对象内容全部拷贝一份,引入copy模块   deepcopy()
    

    3 深拷贝 拷贝所有内容 包括内部的所有

  • 相关阅读:
    打包时,指定war包的名称
    java读取properties文件的配置信息
    java日期时间处理集合
    jpa使用原生SQL查询数据库like的用法
    讲讲升级macOS Big Sur后的感受
    eclipse failed to create jvm The JVM shared library "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/../lib/server/libjvm.dylib" does not contain the JNI_CreateJavaVM symbol.
    Xcode12 占用空间过大的解决方法及彻底删除Xcode
    Entry name 'classes.dex' collided
    multidex Unable to get provider com.vivo.upgrade.library.provider.FileProvider
    android保存完了,自动关闭软键盘
  • 原文地址:https://www.cnblogs.com/mlhz/p/9415479.html
Copyright © 2011-2022 走看看