python的一些遗漏用法

一. 补充基础数据类型的相关知识点
    1. str. join() 把列表变成字符串

    li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"]
    s = "_".join(li)
    print(s)
    s=s.split("_")
    print(s)


    2. 列表不能再循环的时候删除. 因为索引会跟着改变
    3. 字典也不能直接循环删除,把要删除的内容记录在列表中. 循环列表. 删除原列表, 字典中的数据

       A

        li = [11,22,33,4,45]
        for el in range(0,len(li)):        第一种循环删除的方法
        li.pop()                  \用pop()从后往前删除
         print(li)
       B  第二种循环删除的方法,用另一个列表记着需要删除的东西,然后在删除
        
          li = [11,22,33,4,45]
          del_lst=[]
          for el in li:
          del_lst.append(el)
          for el in del_lst:
          li.remove(el)
          print(li)

      

    4. fromkeys() 不会对原来的字典产生影响. 产生新字典(神坑, 考试)

 

      dict中的fromkey(),可以帮我们通过list来创建一个dict

        dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])

         print(dic)

        结果: {'jay': ['周杰伦', '麻花藤'], 'JJ': ['周杰伦', '麻花藤']}

        前一列表中的每一项都会作为key, 后面列表中的内容作为value. 生成dict

 

        dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])

        print(dic)

        dic.get("jay").append("胡大")

        print(dic)

        结果: {'jay': ['周杰伦', '麻花藤', '胡大'], 'JJ': ['周杰伦', '麻花藤', '胡大']}
二.. set集合.

    1.set里面的元素是不重复的, 无序的.
    2. 里面的元素必须是可hash的(int str tuple bool )

    3.set里面不能套set,因为set是不可hash的,是可变的

    4.增 add()   update()迭代添加

     删pop()      remove()      clear()

      

    set= {"hu","shaung","jun","zui","bang","dh"}
    # set.pop() #随机删
    set.remove("hu") #删除指定元素
    set.clear() #删除全部
    print(set)

     改 先删后增

     查 for循环

      
三. 深浅拷贝
    1. 直接赋值. 两个变量指向同一个对象.
    2. 浅拷贝:只拷贝第一层内容. copy()
    3. 深度拷贝: 对象中的所有内容都会被拷贝一份
    import copy
    copy.deepcopy()

posted @ 2018-07-10 14:49  古月蜀黍  阅读(182)  评论(0编辑  收藏  举报