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.