python中常用的知识点

网友投稿 818 2022-10-10

python中常用的知识点

python中常用的知识点

1、列表的5中常用创建方式

1)用[ ]创建列表

a = [1,2,3]display(a)

结果如下:

2)用list()函数创建列表

b = list("abcd")display(b)

结果如下:

3)用range()函数创建整数列表

c = list(range(10))display(c)

结果如下:

4)用列表推导式创建列表

d = [i for i in range(10)]display(d)

结果如下:

5)用list()函数和[ ]创建空列表

e = list()display(e)f = []display(f)

结果如下:

2、列表中推荐使用的列表元素添加函数

1)append():真正的在列表尾部添加元素,速度最快,推荐使用。

a = [3,1.43,True,"哈哈"]b = []display(id(b))for i in a: b.append(i)display(b) display(id(b))

结果如下:

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

2)extend()方法:将一个列表的元素,添加到另外一个列表元素的尾部。

a = ["我很好",4,5,6]b = [1,2,3,"嘿嘿"]display(b)display(id(b))b.extend(a)display(b)display(id(b))

结果如下:

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))

结果如下:

2)x.sort()函数

c = [50,10,100,30]display(id(c))c.sort()display(c)display(id(c))

结果如下:

3)结果分析

sorted()函数属于python内置函数,sort()函数属于列表对象中的一个方法。x.sort()属于原地修改列表的排序方法,sorted(x)属于建立新列表的排序方法。x.sort()由于是原地修改列表的排序方法,因此不能用其他变量去接收排序结果,sorted(x)属于建立新列表的排序方法,因此需要创建一个新的变量接收这个变量。

4、字典的5中常用创建方式

1)直接使用{ }创建字典;

a = {"name":"张三","age":18,"job":"teacher"}display(a)

结果如下:

2)使用dict()函数创建字典;

b = dict(name="黄伟",age=18,job="teacher")display(b)#传入一个元组组成的列表c = dict([("name","黄伟"),("age",18),("job","teacher")])display(c)

结果如下:

3)zip()函数:利用两个列表创建字典;

list1 = ["name","age","job"]list2 = ["黄伟",18,"teacher"]d = dict(zip(list1,list2))display(d)

结果如下:

4)使用{ }和dict()创建空字典;

e = {}display(e)f = dict()display(f)

结果如下:

5)使用fromkeys()函数创建值为空的字典;

#传入一个由字典的"键"组成的列表;list1 = ["name","age","job"]g = dict.fromkeys(list1)display(g)

结果如下:

5、字典元素的访问方式

1)get():强烈推荐的字典元素访问方式(这种方式最好最常用)

a = {"name":"张三","age":18,"job":"teacher"}display(a)display(a.get("name"))display(a.get("weight"))

结果如下:

2)items():获取字典中的键值对;

a = {"name":"张三","age":18,"job":"teacher"}display(a)display(a.items)for i in a.items(): print(i)

结果如下:

3)keys():获取字典中所有的键;values():获取字典中所有的值;

a = {"name":"张三","age":18,"job":"teacher"}display(a)display(a.keys())display(a.values())

结果如下:

6、python中使用"+"和使用"join"拼接字符串的性能比较

import timet1 = 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))

结果如下:

综上所述:进行字符串拼接,推荐使用"join"进行字符串拼接,少用"+"。

7、字符串驻留机制

1)字符串驻留机制的含义

Python支持字符串驻留机制,对于符合标识符的字符串(注意:仅仅包含下划线_、字母、数字),才会启用字符串驻留机制。此时,保存一份相同且不可变的字符串,不同的值被存在驻留池中,因此,他们还是同一个东西。

2)“is"和”=="的不同点

"=="用于判断两个对象的内容是否相同,只关注两个对象的值是否相等。"is"是用于判断两个对象的内存地址是否相同,真正判断两个对象是不是同一个对象。因此,is的要求更高,不仅要求值一样,同时还要求对象内存地址也是一样。

操作如下:

p = 'ab#'q = 'ab#'display(id(p),id(q))# 判断两个对象的值是不是相等;display(p == q)# 判断两个对象是不是同一个对象;display(p is q)

结果如下:

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)

结果如下:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:QPM- PHP进程管理框架(qp免考cpa)
下一篇:【算法入门11】反转链表
相关文章

 发表评论

暂时没有评论,来抢沙发吧~