Python – 限制列表中元素的频率
当需要限制列表中的元素频率时,会使用简单的迭代以及“追加”方法。
范例
以下是该方法的展示:
from collections import defaultdict my_list = [11, 14, 15,14, 11, 14, 14, 15, 15, 16] print("The list is :") print(my_list) my_dict = {14 : 3, 11 : 1, 16 : 1, 15 : 2} print("The dictionary is :") print(my_dict) my_result = [] my_def_dict = defaultdict(int) for element in my_list: my_def_dict[element] += 1 if my_def_dict[element] > my_dict[element]: continue else: my_result.append(element) print("The result is :") print(my_result)
输出
The list is : [11, 14, 15, 14, 11, 14, 14, 15, 15, 16] The restrict dictionary is : {14: 3, 11: 1, 16: 1, 15: 2} The result is : [11, 14, 15, 14, 14, 15, 16]
说明
所需软件包已导入到环境中。
定义了一个整数列表并显示在控制台中。
定义了一个词典并显示在控制台中。
定义了一个空列表。
定义了一个整数的默认字典。
迭代原始列表,并使词典元素增加 1。
根据原始词典和默认词典中的元素是否大于或等于 0,使用“继续”操作符。
然后,使用“追加”方法将元素添加到空列表中。
这是显示在控制台上的输出。
广告