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

ค้นหาองค์ประกอบทั่วไปในอาร์เรย์ที่จัดเรียงสามชุดโดยแยกพจนานุกรมใน Python


ในขณะที่จัดการข้อมูลโดยใช้ python เราอาจเจอสถานการณ์ที่เราจำเป็นต้องค้นหาองค์ประกอบที่เหมือนกันในหลาย ๆ อาร์เรย์ ซึ่งสามารถทำได้โดยการแปลงอาร์เรย์เป็นพจนานุกรมดังที่แสดงด้านล่าง

ในตัวอย่างด้านล่าง เราใช้อาร์เรย์และใช้คอนเทนเนอร์ตัวนับจากโมดูลคอลเลกชัน จะนับจำนวนองค์ประกอบแต่ละองค์ประกอบที่มีอยู่ในคอนเทนเนอร์ จากนั้นเราแปลงเป็นพจนานุกรมโดยใช้ dict() และใช้ตัวดำเนินการ &เพื่อระบุเฉพาะองค์ประกอบทั่วไปในอาร์เรย์ สุดท้าย เราวนซ้ำรายการต่างๆ ของพจนานุกรมที่สร้างขึ้นใหม่และผนวกค่าจากพจนานุกรมเพื่อให้ได้ผลลัพธ์สุดท้ายของค่าทั่วไป

ตัวอย่าง

from collections import Counter

arrayA = ['Sun', 12, 14, 11, 34]
arrayB = [6, 12, 'Sun', 11]
arrayC = [19, 6, 20, 'Sun', 12, 67, 11]

arrayA = Counter(arrayA)
arrayB = Counter(arrayB)
arrayC = Counter(arrayC)

# Intersection
commonDict = dict(arrayA.items() & arrayB.items() & arrayC.items())
res = []

# result
for (key, val) in commonDict.items():
   for i in range(0, val):
      res.append(key)

print("The common values among the arrays are:\n ",res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

The common values among the arrays are:
['Sun', 11, 12]