Python - 通过第一个元素值限制元组的频率
当需要按第一个元素值的频率限制元组时,会使用一个简单的“if”条件以及一个迭代和“append”方法。
示例
以下是相同的演示
my_list = [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56),(73, 84), (91, 40), (40, 83), (13, 27)]
print("The list is :")
print(my_list)
my_key = 1
my_result = []
mems = dict()
for sub in my_list:
if sub[0] not in mems.keys():
mems[sub[0]] = 1
else:
mems[sub[0]] += 1
if mems[sub[0]] <= my_key:
my_result.append(sub)
print("The filtered tuples are :")
print(my_result)输出
The list is : [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83), (13, 27)] The filtered tuples are : [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83)]
说明
定义了一个元组列表并显示在控制台上。
将一个整数值分配给 1。
定义了一个空列表。
创建一个空字典。
对元组列表进行迭代,如果在字典的键值中找不到元素,则第 0个索引将被分配为 1。
否则,将对其加 1。
如果它小于或等于键,则元素将附加到空的 result。
此 result 是显示在控制台上的输出。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP