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

ตรวจสอบค่าซ้ำใน Python

สมมติว่าเรามีรายการตัวเลข เราต้องตรวจสอบว่ารายการมีองค์ประกอบซ้ำหรือไม่ เช่นถ้ารายการเป็น [1,5,6,2,1,3] จะคืนค่า 1 เพราะมี 1 สองตัว แต่ถ้ารายการเป็น [1,2,3,4] จะเป็น false เพราะไม่มีค่าซ้ำ

ในการแก้ปัญหานี้ เราจะใช้แนวทางนี้:

เรารู้ว่าข้อมูลโครงสร้างเซต (set) เก็บข้อมูลที่ไม่ซ้ำกันเท่านั้น แต่วรายการ (list) สามารถเก็บข้อมูลซ้ำได้ ดังนั้นถ้าเราแปลงรายการเป็นเซต ขนาดจะลดลงถ้ามีองค์ประกอบซ้ำ โดยการเปรียบเทียบความยาว เราสามารถแก้ปัญหานี้ได้

ตัวอย่าง

class Solution(object):
    def containsDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        return not len(nums) == len(set(nums))

ob1 = Solution()
print(ob1.containsDuplicate([1,5,6,2,1,3]))
print(ob1.containsDuplicate([1,2,3,4]))

อินพุต

nums = [1,5,6,2,1,3] nums = [1,2,3,4]

เอาต์พุต

True False