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 是显示在控制台上的输出。

更新于: 15-Sep-2021

161 次浏览

启动您的职业

完成课程以获得认证

入门
广告
© . All rights reserved.