zoukankan      html  css  js  c++  java
  • 20180710

    一.知识点的补充(基础数据类型的相关知识点)

    1.str 字符串   join()

    例如:

      s = "可口可乐"

      s1 = s.join("非常可乐")                     #把字符串s插入到"非常可乐"中

      print(s1)                ==>非可口可乐常可口可乐可可口可乐乐可口可乐   

    例如:  

      # s = "_".join("***")

      # print(s)      ==>*-*-*     join可以把列表编程字符串,把字符串变成列表  .split()

    例如:

      s = "A_B_C"
        s1 = s.split("_")
        print(s1)              ==>['A','B','C']

    2.列表list的删除

    例如:    (要求不要使用clear全部清除,换一种写法)

      lst = ["我不是药神","西游记","西红柿首富","超时空同居"]                     

      lst1=[]

      for el in lst:                                                                                                      字典和列表 在循环的时候不能删,因为会改变索引

        lst1.append(el)     记录下来要删除的内容                                                 (要把删除的内容记录在列表中,循环列表删除原列表或字典里的数据)

      for el in lst1:        循环记录的内容

        lst.remove(el)     删除原来的内容

      print(lst)                      ==>[](全部清除)

    3.fromkeys                 (不会对原来的字典产生影响,产生新的字典)

    例如:

      a = dict.fromkeys("麻花藤","*")                           前面的一项都会作为key,后面一项都会作为value

      print(a)               ==>{"麻":"*","花":"*","藤":"*"}

    例如: 

      dic = dict.fromkeys(["jay", "JJ"], ["周杰伦", "麻花藤"])
      print(dic)                          ==>返回给你一个新的字典
      dic.get("jay").append("胡大")
      print(dic)                          ==>{'jay':["周杰伦","麻花藤","胡大"],"jj":["周杰伦","麻花藤","胡大"]}

    4.类型转换   (想转换成什么,就用什么括起来)

    元组   ==>   列表                    list(tuple)

    列表   ==>   元组                       tuple(list)

    list  ==>  str        str.join(list)

    str  ==>  list        list.split()

    转换成False 的数据类型

    0  ''   None    []   ()   {}     set()==>     False

    二.set   集合

    set集合是python的一个基本数据类型 

    set中的元素是不重复的,无序的,里面的元素必须是可哈希的(int  str  bool   tuple) 

    set 是dict类型的数据.只保存key   不保存value   也用{}表示

    set 本身是不可哈希的   是可变的   set的主要功能是去掉重复的东西

    例如:

      s = {"ABC","ABC","DEF","XYZ"}

      print(s)       ==>{"ABC","DEF","XYZ"}

    ⑴增

    例如:

      s = {"刘嘉玲","关之琳","王祖贤"}

      s.add("郑裕玲")             ==>{'郑裕玲', '刘嘉玲', '关之琳', '王祖贤'}

      s = {"刘嘉玲","关之琳","王祖贤"}

      s.update(["郑裕玲"])     ==>{'郑裕玲', '刘嘉玲', '关之琳', '王祖贤'}

    ⑵删

      s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李李若彤"}

      s1 = s.pop()          ==>   打印s1出来的是随机删除的那一项

      print(s)                ==>  打印出来的是随机删除后的s

      s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李李若彤"}

      s.remove("刘嘉玲")             ==> {'关之琳', "王祖贤","张曼玉", "李李若彤"}

      s = {"刘嘉玲", '关之琳', "王祖贤","张曼玉", "李李若彤"}

      s.clear()            清空集合 

    ⑶改

      先使用remove删除,后用add  添加的方式来完成修改

    ⑷查询                 set是可迭代对象,可以进行for循环

      for el in s:

        print(el)

    三.深浅拷贝

    1.  直接赋值   两个变量指向同一个对象

    例如:          (列表,进行赋值操作的时候,实际上是引用内存地址的赋值,内存中此时只有一个列表,两个变量指向一个列表)     字典也一样

      lst = ["ABC","1234","DEF","567"]

      lst1 = lst

      lst1.append("979")     对其中一个进行操作,两个都跟着改变

      print(lst1,lst)                ==>打印出来的两个列表一样,都添加了"979"

    2.浅拷贝    copy   (只拷贝表面第一层的内容)

    例如:

      lst1=["何炅","杜海涛","周渝民"]

      lst2 = lst1.copy

      lst2.append("李嘉诚")

      print(lst1,lst2)                          ==>lst1还是原来的内容,lst2在lst1的基础上又添加了"李嘉诚"

    3.深拷贝 import copy  (deepcopy)

    例如:

      import copy

      lst = ["超人","七龙珠","葫芦娃",["金城武","王力宏","ABC"]]

      lst2 = copy.deepcopy(lst)                                  #把lst1扔进去进行深度拷贝,包括内部所有内容进行拷贝

      lst[4].append("何炅")

      print(lst,lst2)                          ==>lst 里面那层列表中添加了"何炅"  ,lst2是想lst修改前的数值

    #为什么要有深浅拷贝?

    拷贝比创建对象的过程要快

  • 相关阅读:
    C#中的int?和X??
    验证码识别技术导论
    Jquery focus blur给文本框加选中离开效果
    Asp.Net 用户验证(自定义IPrincipal和IIdentity)
    FCKeditor介绍
    char varchar 有什么区别
    jquery无刷新载入其他页面的内容
    ASP.NET 安全认证
    程序员不是一般人
    [转]Asp.net中基于Forms验证的角色验证授权
  • 原文地址:https://www.cnblogs.com/lhy979/p/9289454.html
Copyright © 2011-2022 走看看