• str中的join方法; set集合;深浅拷贝


    一.str中的join方法

    1,用join可以吧列表转换为字符串

    将列表转换成字符串. 每个元素之间用_拼接
    s = "_". join(['德玛', ''赵信'', '易'])
    print(s)        # ''德玛_赵信_易'' 
    字符串转换成列表: split()
    把列表转换成字符串: join()

    只要是可迭代对像就可以用join

    lst = ["紫云", "大云", "玉溪", "紫钻","a","b"]
    lst.clear()
    print(lst)      # ['大云', '紫钻', 'b']
    # # 删除的时候, 发现. 剩余了一下内容. 原因是内部的索引在改变.
    # # 需要把要删除的内容记录下来. 然后循环这个记录. 删除原来的列表
    new_lst = []   # 准备要删除的信息
    for el in lst:   # 有一个变量来记录当前循环的位置
        new_lst.append(el)
    
     # 循环新列表, 删除老列表
    for el in new_lst:
        lst.remove(el)
    print(lst)  
    

     list和dict在循环的时候不能直接删除,循环的时候会改变索引删不干净.

    lst = ['张国荣', '张铁林', '张国立', '张曼玉', '汪峰']
    #删掉姓张的
    #记录姓张的
    zhangs = []
    for el in lst:
        if el.startswith('张'):
            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)
    

     综上. 列表和字典都不能再循环的时候进行删除. 字典在循环的时候不允许改变大小

    二.fromkeys :

    描述

    Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

    语法

    fromkeys()方法语法:

    dict.fromkeys(seq[, value])
    示例:
    dic = {"apple":"苹果", "banana":"香蕉"}
    # 返回新字典. 和原来的没关系
    #  ret = dic.fromkeys("orange", "橘子") # 直接用字典去访问fromkeys不会对字典产生影响
    ret = dict.fromkeys("abc",["哈哈","呵呵", "吼吼"]) # fromkeys直接使用类名进行访问
    print(ret)    # {'a': ['哈哈', '呵呵', '吼吼'], 'b': ['哈哈', '呵呵', '吼吼'], 'c': ['哈哈', '呵呵', '吼吼']}
    a = ["哈哈","呵呵", "吼吼"]
    ret = dict.fromkeys("abc", a) # fromkeys直接使用类名进行访问
    a.append("嘻嘻")
    print(ret)   # {'a': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'b': ['哈哈', '呵呵', '吼吼', '嘻嘻'], 'c': ['哈哈', '呵呵', '吼吼', '嘻嘻']}
      

    三,集合

    特点:

       无序, 不重复, 元素必须可哈希(不可变)
    作用:
       去重复
       本身是可变的数据类型. 有增删改查操作.
       frozenset()冻结的集合. 不可变的. 可哈希的

    # 集合本身是可变的数据类型, 不可哈希, 有增删改查操作
    s = {"刘嘉玲", '关之琳', "王祖贤"}
    s.update("麻花藤")    # 迭代更新
    print(s)
    
    # 集合中的元素必须是可哈希的. 不重复的. 可以去重. 哈希hash算法
    

      

    四, 深浅拷贝

     1. 赋值. 没有创建新对象. 公用同一个对象
     2. 浅拷贝. 拷贝第一层内容. [:]或copy()
     3. 深拷贝. 拷贝所有内. 包括内部的所有.把这个对象内部的内容全部拷贝一份. 引入copy模块. deepcopy()

  • 相关阅读:
    基数排序
    希尔排序
    归并排序
    选择排序
    冒泡排序
    堆排序
    快速排序
    Python selenium 4种常用定位 id,class_name,text,xpath
    python selenium 用索引值定位
    python pycharm 建立新项目时使用上个项目所下载的第三方库方法
  • 原文地址:https://www.cnblogs.com/zwq-/p/9414882.html
Copyright © 2020-2023  润新知