Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

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

  • ขึ้นอยู่กับว่าองค์ประกอบในพจนานุกรมดั้งเดิมและพจนานุกรมเริ่มต้นมีค่ามากกว่าหรือไม่ ตัวดำเนินการ 'ต่อไป' จะถูกใช้

  • จากนั้นจึงใช้วิธี "ผนวก" เพื่อเพิ่มองค์ประกอบในรายการว่าง

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล