• join,列表和字典用for循环的删除,集合,深浅拷贝


    1.join()

      将列表转换成字符串,并且每个字符之间用另一个字符连接起来,join后面必须是可迭代的对象(字符串,列表,元组,字典,集合),数字不能迭代

    例如:

    1 s = ['a','b','c']
    2 s1 = '_'.join(s)
    3 print(s1)

    结果为:a_b_c

    2.字符串转换成列表:split()

       列表转换成字符串:join()

     

    3.列表的删除(pop,remove,del,clear)

      如果用for循环删除,第二个元素的索引就变成了第一个元素的索引,此时列表内部的索引在改变

    例如:

    1 lst = ['a','b','c','d']
    2 for i in lst:
    3     lst.remove(i)
    4 print(lst)

    结果为:['b','d']

    此时需要创建一个新的列表来记录原列表,然后for循环依次遍历新列表,删除原列表

    例如:

    1 lst = ['a','b','c','d']
    2 lst1 = []      #存放要删除的元素
    3 for i in lst:    #循环新列表
    4     lst1.append(i)    #将原列表的元素添加到新列表中
    5 for i in lst1:            #循环新列表
    6     lst.remove(i)       #删除原列表中的元素
    7 print(lst)
    8 print(lst1)    

    此时结果为:[]

          ['a','b','c','d']

    4.字典的删除:

      和列表一样,都是先创建一个新的字典,然后循环原字典,将每个元素添加到新字典中,循环新字典,删除原字典

      例如:

    dic = {'a':1,'b':2,'c':3,'d':4}
    dic1 = {}
    for i in dic:
        dic1.setdefault(i)
    for j in dic1:
        dic.pop(j)  #字典只能通过key来删除,而不能用索引删除
    print(dic)

    结果为:{}

    所以,列表和字典在循环的时候不能删除,字典在循环的时候不能改变大小

    fromkeys():用来创建一个新的字典,和原来的字典没关系,使用dict访问fromkeys()

      dic = dict.fromkeys('def',[4,5,6])

      print(dic)

    结果为:{'d':[4,5,6]'e':[4,5,6],'f':[4,5,6]}

    5.set集合:

    创建:  s = set()

    集合本身是可变的数据类型,不可哈希,有增删改查操作

    集合中的元素是不可变的,不重复,可哈西,可以去重

    将列表去重:

          s = []

          s1 = set(s) #把列表转换成集合,进行去重复

          s2 = list(s1)#把集合转换成列表

     

    6.深浅拷贝

    import copy()

    浅拷贝:lst = []

        lst1 = lst[:]

        lst1 = lst.copy()

    不管改变lst还是lst1,另一个也会改变(共用同一个内存地址)

    深拷贝:

        lst = []

        lst1 = copy.deepcopy(lst)  #创建了一个新的内存

    不管改变lst还是lst1,另一个都不会改变

  • 相关阅读:
    elasticsearch head插件安装
    ELK部署配置使用记录
    windows 安装mysql
    vs2017创建dotnetcore web项目,并部署到centos7上
    CentOS 7 安装jdk
    CentOS 7 配置网络
    Surging 记录
    记录一下地址
    net core 依懒注入 中间件
    Elasticsearch 配置文件
  • 原文地址:https://www.cnblogs.com/s593941/p/9415545.html
Copyright © 2020-2023  润新知