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

โปรแกรมลบรายการที่ซ้ำกันในรายการใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องลบตัวเลขที่ปรากฏหลายครั้งในรายการ เรายังต้องรักษาลำดับของลักษณะที่ปรากฏในรายการเดิมด้วย

ดังนั้น หากอินพุตเป็น nums =[2, 4, 6, 1, 4, 6, 9] ผลลัพธ์จะเป็น [2, 1, 9] เนื่องจากองค์ประกอบเหล่านี้ปรากฏเพียงครั้งเดียว

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • dict :=แผนที่ใหม่
  • สำหรับแต่ละ i ใน nums ทำ
    • ถ้าฉันไม่ได้อยู่ใน dict แล้ว
      • dict[i] :=0
    • dict[i] :=dict[i] + 1
  • ส่งคืนรายการที่มีองค์ประกอบทั้งหมด e เป็น nums โดยที่ dict[e] คือ 1

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

class Solution:
   def solve(self, nums):
      dict = {}
      for i in nums:
         if i not in dict:
            dict[i] = 0
         dict[i] = dict[i] + 1
      return [k for k, v in dict.items() if v == 1]
ob = Solution()
nums = [2, 4, 6, 1, 4, 6, 9] print(ob.solve(nums))

อินพุต

[2, 4, 6, 1, 4, 6, 9]

ผลลัพธ์

[2, 1, 9]