python列表与字典知识点总结

2018-06-18 02:18:05来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

一、模块初识

  分类:

    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\n+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,有就返回,没有就创建新的。
 

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

 


  

    

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:KNN算法简单应用

下一篇:初学Python——字符串相关操作