แสดงรายการทางแยกใน Python

List Intersection Python



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

จุดตัด

ก่อนที่จะเริ่มบทช่วยสอนนี้ จะมีการอธิบายแนวคิดของทางแยก ด้านล่างมีให้สองตัวอย่าง:







รายการ1= [4, 7, 2. 3, 9, 6, สิบเอ็ด]
รายการ2= [6, 5, 1, ยี่สิบ, 9, 7, 4, 3]

หลังจากใช้ทางแยกแล้ว หากผลลัพธ์ถูกเก็บไว้ในรายการอื่น อาจมีชื่อว่า List3 ก็จะประกอบด้วยข้อมูลต่อไปนี้



รายการ3= [4, 6, 7, 9]

การแสดงกราฟิกของ List3 แสดงอยู่ด้านล่าง:







ตัวอย่างที่ 1: ตัดรายการผ่าน set() Method

ตัวอย่างต่อไปนี้แสดงวิธีที่คุณสามารถตัดสองรายการโดยใช้เครื่องหมาย ชุด() วิธีการและ & โอเปอเรเตอร์ ประกาศสองรายการ ชื่อ list1 และ list2 ที่นี่ รายการทั้งสองนี้มีค่าตัวเลข รายการที่สามถูกสร้างขึ้นโดยการแปลง list1 และ list 2 เป็นชุดผ่าน set () วิธีการและการใช้ทางแยกโดยใช้เครื่องหมาย & โอเปอเรเตอร์ ถัดไป ค่าของสามรายการจะถูกพิมพ์

#!/usr/bin/env python3
# กำหนดรายการ1
รายการ1= [22, 8, สี่ห้า, สิบเอ็ด, 3. 4, 9, ยี่สิบ, 7]
# กำหนด list2
รายการ2= [12, 9, ยี่สิบ, 78, 53, 8, 2, 30,31]
# สร้าง list3 โดยตัด list1 และ list2
รายการ3= รายการ(ชุด(รายการ1)&ชุด(รายการ2))
# พิมพ์รายการ1
พิมพ์('ค่าของ list1:NS',รายการ1)
# พิมพ์ list2
พิมพ์('ค่าของ list2:NS',รายการ2)
# พิมพ์รายการ3
พิมพ์('ค่าของ list3 หลังจากตัดกัน list1 และ list2:NS',รายการ3)

เอาท์พุต



ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าสามค่าเป็นเรื่องปกติสำหรับทั้งสองรายการ ค่าเหล่านี้คือ 8, 9 และ 20 และแสดงในเนื้อหาของรายการที่สาม

ตัวอย่างที่ 2: รายการตัดกันผ่านจุดตัด () วิธี

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

#!/usr/bin/env python3

# กำหนดฟังก์ชันเพื่อส่งคืนจุดตัดของสองรายการ
defintersectLists(รายการ1,รายการ2):
กลับ ชุด(รายการ1).จุดตัด(รายการ2)

# กำหนดรายการ1
รายการ1= ['สวัสดี','7','8','10','2']
# กำหนด list2
รายการ2= ['8','3. 4','สวัสดี','2','ยี่สิบเอ็ด','1',10]
''' เรียกใช้ฟังก์ชันที่กำหนดเองเพื่อจัดเก็บ
ผลการตัดกันของ list1 และ list2
ในรายการ3'''

รายการ3=intersectLists(รายการ1,รายการ2)
# พิมพ์รายการ1
พิมพ์('ค่าของ list1:NS',รายการ1)
# พิมพ์ list2
พิมพ์('ค่าของ list2:NS',รายการ2)
# พิมพ์รายการ3
พิมพ์('ค่าของ list3 หลังจากตัดกัน list1 และ list2:NS',รายการ3)

เอาท์พุต

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ในที่นี้ ค่าทั่วไประหว่างสองรายการคือ '2', '8' และ 'Hello'

ตัวอย่างที่ 3: รายการตัดกันผ่านวิธีการวนซ้ำ

สองตัวอย่างก่อนหน้านี้แสดงจุดตัดของรายการโดยใช้ฟังก์ชันในตัว ตัวอย่างต่อไปนี้แสดงจุดตัดของรายการโดยไม่มีฟังก์ชันในตัว สามารถทำได้โดยใช้ลูป มีการประกาศรายการข้อมูลข้อความสองรายการในสคริปต์ NS สำหรับ ลูปถูกใช้ที่นี่เพื่อค้นหาค่าข้อความทั่วไประหว่าง รายการ1 และ รายการ2, และที่เก็บไว้ในตัวแปร รายการ3 . ถัดไป ค่าของตัวแปรรายการทั้งสามนี้จะถูกพิมพ์

#!/usr/bin/env python3

# กำหนดรายการ1
รายการ1= ['ฟาฮาน','อาบีร์','อาคัช','มีนา','มาเซอร์']
# กำหนด list2
รายการ2= ['มีนา','มอยน่า','โนเบล','ใกล้ชิด','อาบีร์','ฟาร์ฮีน']
# ค้นหาทางแยกโดยใช้ for loop และเก็บผลลัพธ์ไว้ใน list3
รายการ3= [ค่าสำหรับค่าในรายการ1ถ้าค่าในรายการ2]

# พิมพ์รายการ1
พิมพ์('ค่าของ list1:NS',รายการ1)
# พิมพ์ list2
พิมพ์('ค่าของ list2:NS',รายการ2)
# พิมพ์รายการ3
พิมพ์('ค่าของ list3 หลังจากตัดกัน list1 และ list2:NS',รายการ3)

เอาท์พุต

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ในที่นี้ ค่าข้อความทั่วไปของทั้งสองรายการคือ 'อาบีร์' และ 'มีนา'

ตัวอย่างที่ 4: ตัดรายการแบบง่ายและซ้อนกันผ่าน filter() Method

ตัวอย่างต่อไปนี้แสดงจุดตัดระหว่างรายการแบบธรรมดาและรายการที่ซ้อนกัน NS กรอง() วิธีการและ แลมบ์ดา ฟังก์ชันที่ใช้ในสคริปต์เพื่อดำเนินการจุดตัดระหว่าง list1 และ list2 เมื่อรายการมีรายการตั้งแต่หนึ่งรายการขึ้นไปเป็นรายการในรายการ รายการนั้นจะถูกเรียกว่ารายการที่ซ้อนกัน ที่นี่, รายการ1 เป็นรายการง่ายๆ และ รายการ2 เป็นรายการที่ซ้อนกันในขณะที่ รายการ3 มีค่าจุดตัดของ รายการ1 และ รายการ2 .

#!/usr/bin/env python3

#กำหนดรายการง่ายๆ
รายการ1= [22, 8, สี่ห้า, สิบเอ็ด, 3. 4, 9, ยี่สิบ, 7]
# กำหนดรายการที่ซ้อนกัน
รายการ2= [[12, 9, ยี่สิบ], [78, สิบเอ็ด, 53, 8], [2, 30, 31, สี่ห้า]]
# สร้าง list3 โดยตัด list1 และ list2 โดยใช้ filter()
รายการ3= [รายการ(กรอง(แลมบ์ดาน: นในรายการ1,slist)) สำหรับslistในรายการ2]

# พิมพ์รายการ1
พิมพ์('ค่าของ list1:NS',รายการ1)
# พิมพ์ list2
พิมพ์('ค่าของ list2:NS',รายการ2)
# พิมพ์รายการ3
พิมพ์('ค่าของ list3 หลังจากตัดกัน list1 และ list2:NS',รายการ3)

เอาท์พุต

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ตัวแปร list2 มีรายการอื่นอีกสามรายการเป็นรายการ ดังนั้น ผลลัพธ์จะแสดงจุดตัดระหว่างรายการย่อยทั้งสามของ list2 กับ list1

บทสรุป

จุดตัดของรายการเป็นวิธีที่มีประโยชน์ในการค้นหาค่าทั่วไประหว่างรายการที่มีรายการในรายการจำนวนมาก วิธีการดำเนินการแยกรายการที่มีและไม่มีฟังก์ชันในตัวจะแสดงอยู่ในบทช่วยสอนนี้ หลังจากอ่านบทความนี้ แนวคิดของจุดตัดของรายการควรมีความชัดเจน และคุณควรจะสามารถใช้จุดตัดของรายการในสคริปต์ของคุณโดยทำตามวิธีที่แสดงในบทช่วยสอนนี้