Python - 根据第一个元素值的频率限制元组

pythonserver side programmingprogramming更新于 2025/10/29 2:52:17

当需要根据第一个元素值的频率限制元组时,可以使用简单的‘if’条件以及迭代和‘append’方法。

示例

下面是相同的演示

my_list = [(21, 24), (13, 42), (11, 23), (32, 43), (25, 56),(73, 84), (91, 40), (40, 83), (13, 27)]

print("列表为:")
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("过滤后的元组为:")
print(my_result)

输出

列表为:
[(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83), (13, 27)]
过滤后的元组为:
[(21, 24), (13, 42), (11, 23), (32, 43), (25, 56), (73, 84), (91, 40), (40, 83)]

解释

  • 定义并显示元组列表在控制台上。

  • 将一个整数值赋值为 1。

  • 定义一个空列表。

  • 创建一个空字典。

  • 对元组列表进行迭代,如果在字典的键值中找不到元素,则将第 0 个索引赋值为 1。

  • 否则,将其加 1。

  • 如果小于或等于键,则将元素附加到空结果中。

  • 此结果是显示在控制台上的输出。


相关文章


有用资源