zoukankan      html  css  js  c++  java
  • 深浅拷贝及 join set

    1.join 

    s="**".join (['风清扬',"独孤求败"] )       join  把里面的东西拿出来,进行拼接

    s="_".join(["风清扬","独孤求败"])
    print(s) #风清扬_独孤求败

    #字符串转换成列表  split()   #列表转换成字符串  join ()

    2.清空后面字符串

    lst=["123466"]

    clear [lst]

    或者

    for el in lst

    lst.remove(el)  但是会发现这样删除还会有元素被保留,因为是按索引删除的 从0开始,而一旦删除一个数就会消失,可是索引还是会继续,所以就会有遗漏

    正确方法

    lst1=[]
    lst=["紫云","云烟","预习"]
    for i in lst:
        # lst.remove(i)
        # print(lst)
        lst1.append(i)
    for i in lst1:
        lst.remove(i)
    print(lst)

    通过新建一个列表,通过删除他的位置而你要删除的不会变所以会全部被删除

    3.字典

    dic = {"提莫":"冯提莫", "发姐":"陈一发儿", "55开":"卢本伟"}
    # dic.clear()
    # print(dic)
    # lst=[]
    # for i in dic:
    #     lst.append(i)
    # for i in lst:
    #     dic.pop(i)
    # print(dic)

    也和列表一样 不可以直接在循环的时候删除,需要重新定义一个新的变量

    4.fromkeys

    ret=dict.fromkeys("abc","哈哈")     其中dict 类名直接 与字典无关

    ret=dict.fromkeys("abc","哈哈")
    print(ret)

     5.set   集合

    最大的作用就是去重复

    st = [11,5,4,1,2,5,4,1,25,2,1,4,5,5]
    s=set(st)
    st=list(s)
    print(st)

    #先转换成set集合去掉重复

    最后在转换成列表输出

    6.浅拷贝

    lst2=lst1[ : ]或 lst2=lst.copy() 只是复制的皮毛 第一层内容 真正的地址复制不了

     1. 赋值操作. 没有创建新对象
    # 2. 浅拷贝. 只拷贝第一层内容. [:] copy()
    # 3. 深拷贝. 把这个对象内部的内容全部拷贝一份. 引入copy模块. deepcopy()
  • 相关阅读:
    Jenkins + GitLab 通过 Webhook 自动触发构建爬坑记录
    Spring Cloud Eureka 学习记录
    [源码分析]ArrayList
    一个简单的统计问题(解决方案:Trie树)
    Redis基本数据类型命令汇总
    Redis的Pub/Sub客户端实现
    从ByteBuffer中解析整数
    学习T-io框架,从写一个Redis客户端开始
    折腾一下WebSocket的ArrayBuffer传输方式
    Ubuntu安装docker笔记
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/9415079.html
Copyright © 2011-2022 走看看