python中常用的知识点

您所在的位置:网站首页 列表对象的sort()方法用来对列表元素进行原地排序 python中常用的知识点

python中常用的知识点

2022-03-24 12:26| 来源: 网络整理| 查看: 265

1、列表的5中常用创建方式 1)用[ ]创建列表 a = [1,2,3] display(a) 1 2

结果如下: 在这里插入图片描述

2)用list()函数创建列表 b = list("abcd") display(b) 1 2

结果如下: 在这里插入图片描述

3)用range()函数创建整数列表 c = list(range(10)) display(c) 1 2

结果如下: 在这里插入图片描述

4)用列表推导式创建列表 d = [i for i in range(10)] display(d) 1 2

结果如下: 在这里插入图片描述

5)用list()函数和[ ]创建空列表 e = list() display(e) f = [] display(f) 1 2 3 4 5

结果如下: 在这里插入图片描述

2、列表中推荐使用的列表元素添加函数 1)append():真正的在列表尾部添加元素,速度最快,推荐使用。 a = [3,1.43,True,"哈哈"] b = [] display(id(b)) for i in a: b.append(i) display(b) display(id(b)) 1 2 3 4 5 6 7 8

结果如下: 在这里插入图片描述 综上所示:我们发现在列表尾部添加元素后,b的存储地址前后并没有改变属于原地操作列表,这样的话对内存的开销较小。

2)extend()方法:将一个列表的元素,添加到另外一个列表元素的尾部。 a = ["我很好",4,5,6] b = [1,2,3,"嘿嘿"] display(b) display(id(b)) b.extend(a) display(b) display(id(b)) 1 2 3 4 5 6 7 8

结果如下: 在这里插入图片描述

3)下面这些知识点要注意使用 insert()、remove()、pop()、del()在涉及大量元素时,尽量避免使用。因为,这些操作会让列表元素进行大面积移动,影响处理速度。 使用"+"、"*"这样的操作符扩展列表,也会使得列表存储地址前后发生改变,属于创建了新列表,增加了内存。在涉及大量元素时,不建议使用。 3、列表中元素排序函数比较:sorted(x)和x.sort() 1)sorted(x)函数 a = [20,10,40,30] display(id(a)) b = sorted(a) display(b) display(id(b)) 1 2 3 4 5 6

结果如下: 在这里插入图片描述

2)x.sort()函数 c = [50,10,100,30] display(id(c)) c.sort() display(c) display(id(c)) 1 2 3 4 5 6

结果如下: 在这里插入图片描述

3)结果分析 sorted()函数属于python内置函数,sort()函数属于列表对象中的一个方法。 x.sort()属于原地修改列表的排序方法,sorted(x)属于建立新列表的排序方法。 x.sort()由于是原地修改列表的排序方法,因此不能用其他变量去接收排序结果,sorted(x)属于建立新列表的排序方法,因此需要创建一个新的变量接收这个变量。 4、字典的5中常用创建方式 1)直接使用{ }创建字典; a = {"name":"张三","age":18,"job":"teacher"} display(a) 1 2

结果如下: 在这里插入图片描述

2)使用dict()函数创建字典; b = dict(name="黄伟",age=18,job="teacher") display(b) #传入一个元组组成的列表 c = dict([("name","黄伟"),("age",18),("job","teacher")]) display(c) 1 2 3 4 5

结果如下: 在这里插入图片描述

3)zip()函数:利用两个列表创建字典; list1 = ["name","age","job"] list2 = ["黄伟",18,"teacher"] d = dict(zip(list1,list2)) display(d) 1 2 3 4

结果如下: 在这里插入图片描述

4)使用{ }和dict()创建空字典; e = {} display(e) f = dict() display(f) 1 2 3 4 5

结果如下: 在这里插入图片描述

5)使用fromkeys()函数创建值为空的字典; #传入一个由字典的"键"组成的列表; list1 = ["name","age","job"] g = dict.fromkeys(list1) display(g) 1 2 3 4

结果如下: 在这里插入图片描述

5、字典元素的访问方式 1)get():强烈推荐的字典元素访问方式(这种方式最好最常用) a = {"name":"张三","age":18,"job":"teacher"} display(a) display(a.get("name")) display(a.get("weight")) 1 2 3 4 5

结果如下: 在这里插入图片描述

2)items():获取字典中的键值对; a = {"name":"张三","age":18,"job":"teacher"} display(a) display(a.items) for i in a.items(): print(i) 1 2 3 4 5 6

结果如下: 在这里插入图片描述

3)keys():获取字典中所有的键;values():获取字典中所有的值; a = {"name":"张三","age":18,"job":"teacher"} display(a) display(a.keys()) display(a.values()) 1 2 3 4 5

结果如下: 在这里插入图片描述

6、python中使用"+"和使用"join"拼接字符串的性能比较 import time t1 = time.time() s = "" for i in range(1000000): s += "哈哈" t2 = time.time() display("用时:" + str(t2-t1)) t3 = time.time() l = [] for i in range(1000000): l.append("哈哈") m = "".join(l) t4 = time.time() display("用时:" + str(t4-t3)) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

结果如下: 在这里插入图片描述 综上所述:进行字符串拼接,推荐使用"join"进行字符串拼接,少用"+"。

7、字符串驻留机制 1)字符串驻留机制的含义 Python支持字符串驻留机制,对于符合标识符的字符串(注意:仅仅包含下划线_、字母、数字),才会启用字符串驻留机制。此时,保存一份相同且不可变的字符串,不同的值被存在驻留池中,因此,他们还是同一个东西。 2)“is"和”=="的不同点 "=="用于判断两个对象的内容是否相同,只关注两个对象的值是否相等。 "is"是用于判断两个对象的内存地址是否相同,真正判断两个对象是不是同一个对象。 因此,is的要求更高,不仅要求值一样,同时还要求对象内存地址也是一样。

操作如下:

p = 'ab#' q = 'ab#' display(id(p),id(q)) # 判断两个对象的值是不是相等; display(p == q) # 判断两个对象是不是同一个对象; display(p is q) 1 2 3 4 5 6 7 8 9

结果如下: 在这里插入图片描述

3)检测字符串驻留机制 m = '12_abv' n = '12_abv' display(id(m)) display(id(n)) display(m == n) display(m is n) p = 'ab#' q = 'ab#' display(id(p)) display(id(q)) display(p == q) display(p is q) 1 2 3 4 5 6 7 8 9 10 11 12 13

结果如下: 在这里插入图片描述

文章来源: blog.csdn.net,作者:数据分析与统计学之美,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41261833/article/details/103834185



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3