分享

每个程序员都应该知道的有用的 Python 技巧

 信息科技云课堂 2024-04-12 发布于山东

计算在 Python 中执行代码所花费的时间

假设需要计算完成代码执行所需的时间,可以使用 time 模块来完成。

import time
startTime = time.time()

# 此处放置你的代码

endTime = time.time()
totalTime = endTime - startTime

print("代码执行时间:", totalTime)

两个列表之间的差异

假设有以下两个列表。

list1 = [1, 2, 3, 4, 5]

list2 = [2, 3, 4]

如果要从输出两个列表中不同的元素,即输出 list3 = [ 1, 5],在不使用循环的情况下的最佳方法是使用集合的 symmetric_difference() 方法。

symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

list1 = [12345]
list2 = [234]
set1 = set(list1)
set2 = set(list2)
list3 = list(set1.symmetric_difference(set2))
print(list3)

计算对象正在使用的内存

无论使用哪种数据结构(列表、字典或任何其他对象)来存储数据,都会占用系统内存。

可以使用 sys 模块中的 sys.getsizeof() 获取对象使用的内存(以字节为单位)。

import sys
list1 = [12345]
list2 = [234]
print("size of list = ",sys.getsizeof(list1))
print("size of name = ",sys.getsizeof(list2))

从列表中删除重复项

想从列表中删除或查找重复项,最好的方法是将列表转换为集合。集合是包含唯一值的无序数据结构,不允许有重复项。

list1 = [1122345]
list2 = list(set(list1))
print(list2)

列表中的所有元素是否相同

计算第一个元素的出现次数。如果它与列表的长度相同,那么所有元素都是相同的。

list1 = [11111]
print(list1.count(list1[0]) == len(list1))

比较两个无序列表

假设两个包含相同元素的列表,但两个列表中的元素顺序不同。例如:

list1 = [1, 2, 3, 4, 5]

list2 = [1, 3, 5, 2, 4]

如何进行比较?可以使用 collections 模块的 Counter() 方法,转换为字典进行比较。

Counter() 方法,可以统计元素数量,然后计数并返回一个字典,键为元素,值为元素个数。

from collections import Counter
list1 = [12345]
list2 = [13524]
print(Counter(list1) == Counter(list2))

也可以使用 sorted() 函数对列表进行排序后比较。

from collections import Counter
list1 = [12345]
list2 = [13524]
print(sorted(list1) == sorted(list2))

合并两个字典

dict1 = {1 : 'one'2 : 'two'}
dict2 = {3 : 'three'4 : 'four'}
dict3 = {**dict1, **dict2}
print(dict3)

将两个列表转换为字典

将两个列表转换为字典,一个列表的元素作为键,另一个列表的元素为值。

list1 = [1234]
list2 = ['one''two''three''four']
dict1 =  dict(zip(list1, list2))
print(dict1)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多