zoukankan      html  css  js  c++  java
  • python列表与字典知识点总结

    一、模块初识

      分类:

        1) 标准库:直接导入的不需要下载安装,一般都存在lib下

        2) 第三方库:需要下载安装才能使用,一般都存在site-packages下

      

      sys:

        print(sys.path)---->打印环境变量。 注意:python2下,这个是错误的,因为sys这个文件下并没有path这个函数。

        print(sys.argv)

        print(sys.argv[0])

      

      os :

        cmd_res = os.system("dir")  直接输出到屏幕,cmd_res=0代表命令执行成功,不保存结果。

        

          cmd_res = os.popen("dir")

        print(cmd_res)  打印内存地址

        

          cmd_res = os.popen("dir").read()  通过read方法从内存某一个地方取出来

        print(cmd_res)

        os.mkdir("new_dir") 创建目录


    二、三目运算符
       a = b if c>d else e            
              
    如果 c > d 那么 a = b,否则 a = e。
    三、字符串操作
      
     1 # Author : Lyr
     2 
     3 
     4 name = "Lyr is so clever"
     5 
     6 print(name.capitalize())      #首字母大写
     7 
     8 print(name.count("r"))        #统计某个字母个数
     9 
    10 print(name.center(50,"-"))    #一共打印五十个字符,不够的用-补全居中
    11 
    12 print(name.endswith("er"))    #判断某个字符串是否以某个字符串结尾
    13 
    14 print(name.find("sod"))        #查找某个字符串是否在该串中,如果存在返回某个字符串开头的索引,如果不存在返回-1
    15 
    16 print(name[name.find("so"):11]) #字符串的切片
    17 
    18 name = "Lyr is clever {too_too}".format(too_too="too_too")
    19 
    20 print(name.isalnum())    #判断是否是阿拉伯数字
    21 
    22 print("123".isdecimal())  #判断是否是十进制数
    23 
    24 print("123".isdigit())  #判断是否是整数
    25 
    26 print("d123".isidentifier())   #判断是不是一个合法的变量名
    27 
    28 print("d123".islower())   #判断首字母是不是小写
    29 
    30 print("123".isnumeric())   #判断是不是只有数字组成等同于isdigit
    31 
    32 print("123".isspace())   #判断是不是空格
    33 
    34 print("1a23".istitle())   #判断字符串中是否含有大写字母
    35 
    36 print("A123".isprintable())   #判断是不是可打印的   #tty file,drive file
    37 
    38 print("a123".isupper())      #判断首字母是否大写
    39 
    40 print(",".join(['1','2','3','4']))   #列表转成字符串
    41 
    42 print(name.ljust(50,'*'))             #字符串不够一定的长度用某个字母在右侧补全
    43 
    44 print(name.rjust(50,'*'))             #字符串不够一定的长度用某个字母在左侧补全
    45 
    46 print(name.lower())          #字符串全部变为小写
    47 
    48 print(name.upper())          #字符串全部变为大写
    49 
    50 print("   Lyr  ".lstrip())   #去除左边的空格
    51 
    52 print("   Lyr  ".rstrip())   #去除右边的空格
    53 
    54 print("   Lyr  ".strip())   #去除两边的空格
    55 
    56 p = str.maketrans("abcdef","123456")   #前后长度一样,依次对应
    57 
    58 print("abdefg".translate(p))   #result:12456g
    59 
    60 print(name.replace("r","R",1))
    61 
    62 print(name.rfind("y",0,11)) #从0到11找y的索引
    63 
    64 print(name.split("is"))   #把字符串按某个字符串分割返回列表
    65 
    66 print("1+2
    +3+4".splitlines())   #把字符串按换行符分割返回列表
    67 
    68 print("Lyr".swapcase())   #大写变小写
    69 
    70 print(name.title())   #首字母都变成大写
    71 
    72 print(name.zfill())   #自动补零
    字符串常用函数
    
    

     四、列表

      1)为什么要引入列表呢?

      当我们有很多很多的员工姓名要存起来的时候,就目前学到的知识,我们要定义很多个变量去分别存每个员工的姓名,但是我们这样会累死的,而且会被开除了哈哈哈,这时候我们的列表就派上用场了,可以把它们全部存到一个列表里面,相当于我们c++或者java学的数组。存储较为方便,看起来也比较美观。

      2)列表的操作

        增加,删除,修改,查询,复制,切片,合并,循环输出等。

      

      1 # Author : Lyr
      2 
      3 names = ["ZhangYang","GuYun","XiangPeng","XuLiangChen"]
      4 
      5 print(names)
      6 
      7 print(names[0],names[2])
      8 
      9 print(names[1:3]) #切片
     10 
     11 print(names[-1]) #切片
     12 
     13 print(names[-2:-1])
     14 
     15 print(names[-2:]) #倒数两个
     16 
     17 print(names[0:2]) #与下一个结果相同
     18 
     19 print(names[:2])
     20 
     21 #增加两种(insert,append)
     22 names.append("LeiHaiDong") #追加到末尾
     23 
     24 print(names)
     25 
     26 names.insert(1,"ChenZhongHua") #插入到某个位置
     27 
     28 names.insert(3,"XinZhiYu")
     29 
     30 print(names)
     31 
     32 #修改
     33 names[2] = "XieDi"
     34 
     35 print(names)
     36 
     37 #删除操作两种(remove,del,pop)
     38 names.remove("ChenZhongHua")
     39 
     40 print(names)
     41 
     42 del names[1]
     43 
     44 print(names)
     45 
     46 names.pop(1)
     47 
     48 print(names)
     49 
     50 #查询某个元素的位置
     51 print(names.index("LeiHaiDong"))
     52 
     53 names.insert(1,"ZhangYang")
     54 
     55 #计数某个元素的次数
     56 print(names.count("ZhangYang"))
     57 
     58 #反转
     59 names.reverse()
     60 
     61 print(names)
     62 
     63 #对列表进行排序(按ascii排序规则)
     64 names.sort()
     65 
     66 print(names)
     67 
     68 #合并列表
     69 names2 = [1,2,3,4]
     70 
     71 names.extend(names2)
     72 
     73 print(names)
     74 
     75 #删除列表
     76 
     77 del names2
     78 
     79 #复制列表,只复制第一层(浅copy)
     80 
     81 
     82 names3 = names.copy() #names元素改变,names3对应位置的元素不会变
     83 
     84 print(names3)
     85 
     86 name4 = ["Lyr","LXL"]
     87 
     88 names.insert(1,name4)
     89 
     90 print(names3)
     91 
     92 names[1][1] = "ZJH"
     93 
     94 print(names3)
     95 
     96 name4[1] = "LXL"
     97 
     98 print(names)
     99 
    100 import copy
    101 
    102 #深copy 需要导入copy模块
    103 names3 = copy.deepcopy(names)
    104 
    105 #列表循环
    106 
    107 for i in names:
    108     print(i)
    109 
    110 #跳着输出
    111 
    112 for i in names[0:-1:2]: #0,-1可省
    113     print(i)
    列表操作函数

      总结:

        增加:

          insert()

          append()

        删除:del()

           pop()

           remove()

        修改:list[] = ""   查询:list[index]  复制:copy()  合并:extend  反转:reverse()  排序:sort()

     五、元祖

      和列表相似,但是只有计数和获取下标,对应的是count和index。

    六、字典
      
    1) 粗略的定义相当于c++或者java的映射,key-value键值对,每个key对应一个value。  
      
    2) 字典的操作:              
          增加,删除,修改,查询,循环等操作。  
     1 # Author : Lyr
     2 
     3 #字典是无序的没有index
     4 #创建
     5 info = {
     6     'stu1101': "TengLan Wu",
     7     'stu1102': "LongZe Luola",
     8     'stu1103': "XiaoZe Maliya",
     9 }
    10 
    11 print(info)
    12 
    13 #查询字典里面必须存在                 (2种查询方法)
    14 print(info["stu1101"])
    15 
    16 print(info.get("stu1103"))
    17 
    18 #通过某个key修改,当key存在时,就修改,如果没有该key就创建一条
    19 info["stu1104"] = "武藤兰"
    20 
    21 print(info)
    22 
    23 #删除(3种)
    24 del info["stu1104"]
    25 
    26 info.pop("stu1103")
    27 
    28 #随机删除
    29 info.popitem()
    30 
    31 #查看某个key是否在该字典里
    32 print("stu1102" in info)
    33 
    34 
    35 b = {"stu1101":"lyr",
    36      1:3,
    37      2:4}
    38 info.update(b)
    39 
    40 print(info)
    41 
    42 print(info.items())  #将字典换成列表的形式
    43 
    44 c = dict.fromkeys([6,7,8],[1,{"name":"lyr"},444])#初始化一个字典,如果有多层的话 ,你修改一个元素,显示全部修改了
    45 c[7][1]["name"] = "Jack"
    46 print(c)
    47 
    48 #字典的循环
    49 for i in info:
    50     print(i,info[i])
    字典操作函数
      总结:
        增加:当修改某个key-value时,如果该key不存在,他就会增加到字典中。dic[key] = value。
        删除:del,pop()
        修改:dic[key] = new_value,该key必须存在。
        查询:dic.get(key)--->value
        循环:for i in dic:
            print(i,dic[i])
     3)字典的常用函数:
        除了上面的一些,例如:dic.keys() 打印所有的key值。
                   dic.values() 打印所有的value值。
                   dic.setdefault(key,new_value) 查看这个字典里面有没有这个key,有就返回,没有就创建新的。
     

    如果你喜欢小编写的东西,那就请点点赞吧!!!
        

      

        

  • 相关阅读:
    Workflow in Dynamics AX2009
    Apply Solution Upgrade in Pipeline for Power Platform
    Unmanaged
    数据库行级别权限- MS SQL SERVER 2016
    Power Fx coming to Model-driven Power Apps, Dataverse
    create a new tab and embed the Audit History in the IFrame
    Display different Business Process Flow based on user security role in D365 CE /PowerApps
    [Tip] Business Process Flow’s Enable Security Roles button issue after upgrading to Dynamics 365 / PowerApps
    Control Next and Previous stage movement in Dynamics 365/ CDS Business Process flows using Client API / PowerApps
    How to Set Value in A Regarding Field Using Easyrepro in Dynamics CRM / PowerApps
  • 原文地址:https://www.cnblogs.com/lyr999736/p/8765259.html
Copyright © 2011-2022 走看看