python列表和字典_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。

三、字符串操作

ContractedBlock.gif

ExpandedBlockStart.gif

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)列表的操作

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

ContractedBlock.gif

ExpandedBlockStart.gif

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 delnames278

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 importcopy101

102 #深copy 需要导入copy模块

103 names3 =copy.deepcopy(names)104

105 #列表循环

106

107 for i innames: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) 字典的操作:

增加,删除,修改,查询,循环等操作。

ContractedBlock.gif

ExpandedBlockStart.gif

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" ininfo)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 ininfo: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,有就返回,没有就创建新的。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值