Tuple Matching ใน Python คืออะไร?
Tuple Matching ใน Pythonเป็นวิธีการจัดกลุ่ม tuples โดยจับคู่องค์ประกอบที่สองใน tuples ทำได้โดยใช้พจนานุกรมโดยตรวจสอบองค์ประกอบที่สองในแต่ละทูเพิลในการเขียนโปรแกรมหลาม อย่างไรก็ตาม เราสามารถสร้าง tuples ใหม่ได้โดยใช้ส่วนของ tuples ที่มีอยู่
ไวยากรณ์ทูเปิล
Tup = ('ม.ค.', 'ก.พ.', 'มีนาคม')
ในการเขียนทูเพิลว่าง คุณต้องเขียนเป็นวงเล็บสองอันที่ไม่มีอะไร-
blunt1 = ();
สำหรับการเขียนทูเพิลสำหรับค่าเดียว คุณต้องใส่เครื่องหมายจุลภาค แม้ว่าจะมีค่าเดียวก็ตาม ในตอนท้ายคุณต้องเขียนอัฒภาคดังที่แสดงด้านล่าง
ทื่อ1 = (50,);
ดัชนีทูเพิลเริ่มต้นที่ 0 และสามารถนำมาต่อกัน หั่นเป็นแว่น และอื่นๆ ได้
ในบทช่วยสอนนี้ เราจะเรียนรู้-
- การบรรจุและการเปิดออก
- การเปรียบเทียบสิ่งอันดับ
- การใช้ทูเพิลเป็นกุญแจในพจนานุกรม
- กำลังลบ Tuples
- หั่นทูเปิล
- ฟังก์ชันในตัวด้วย Tuple
- ข้อดีของทูเพิลโอเวอร์ลิสต์
การมอบหมายทูเพิล
Python มีคุณสมบัติการกำหนด tuple ซึ่งช่วยให้คุณสามารถกำหนดตัวแปรได้มากกว่าหนึ่งตัวในแต่ละครั้ง ในที่นี้ เราได้กำหนด tuple 1 ด้วยข้อมูลบุคคล เช่น ชื่อ นามสกุล ปีเกิด ฯลฯ และอีก tuple 2 ที่มีค่าในนั้นเช่น ตัวเลข (1,2,3,….,7)
ตัวอย่างเช่น,
(ชื่อ, นามสกุล, ปีเกิด, หนังที่ชอบและปี, อาชีพ, บ้านเกิด) = Robert
นี่คือรหัส
tup1 = ('โรเบิร์ต' 'คาร์ลอส' '1965' 'เทอร์มิเนเตอร์ 1995' 'นักแสดง' 'ฟลอริดา'); tup2 = (1,2,3,4,5,6,7); พิมพ์(tup1[0]) พิมพ์(tup2[1:4])
- Tuple 1 รวมรายการข้อมูลของ Robert
- Tuple 2 มีรายการตัวเลขอยู่ในนั้น
- เราเรียกค่าของ [0] ใน tuple และสำหรับ tuple 2 เราเรียกค่าระหว่าง 1 ถึง 4
- เรียกใช้รหัส - ตั้งชื่อ Robert สำหรับ tuple แรกในขณะที่ tuple ที่สองจะให้ตัวเลข (2,3 และ 4)
การบรรจุและการเปิดออก
ในการบรรจุ เราใส่ค่าลงใน tuple ใหม่ ในขณะที่แตกไฟล์ เราจะแยกค่าเหล่านั้นกลับเข้าไปในตัวแปร
x = ("Guru99", 20, "Education") # ทูเพิลบรรจุ (บริษัท, emp, โปรไฟล์) = x # tuple unpacking พิมพ์ (บริษัท) พิมพ์ (ชั่วคราว) พิมพ์ (โปรไฟล์)
การเปรียบเทียบสิ่งอันดับ
ตัวดำเนินการเปรียบเทียบใน Python สามารถทำงานกับสิ่งอันดับ
การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของทูเพิลแต่ละตัว หากไม่เปรียบเทียบกับ =,< หรือ > ก็จะไปยังองค์ประกอบที่สองเป็นต้น
เริ่มต้นด้วยการเปรียบเทียบองค์ประกอบแรกจากทูเพิลแต่ละตัว
ลองศึกษาสิ่งนี้ด้วยตัวอย่าง -
#เคส1
เป็น=(5,6) ข=(1,4) ถ้า (a>b):print("a ใหญ่กว่า") อย่างอื่น: print("b ใหญ่กว่า")
#เคส2
เป็น=(5,6) ข=(5,4) ถ้า (a>b):print("a ใหญ่กว่า") อื่นๆ: พิมพ์ ("b ใหญ่กว่า")
#เคส3
เป็น=(5,6) ข=(6,4) ถ้า (a>b):print("a ใหญ่กว่า") อย่างอื่น: print("b ใหญ่กว่า")
กรณีที่ 1:การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของทูเพิลแต่ละตัว ในกรณีนี้ 5>1 ดังนั้นเอาต์พุต a จึงใหญ่กว่า
กรณีที่ 2:การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของทูเพิลแต่ละตัว ในกรณีนี้ 5>5 ซึ่งไม่สามารถสรุปได้ ดังนั้นมันจึงไปยังองค์ประกอบถัดไป 6>4 ดังนั้นเอาต์พุต a จึงใหญ่กว่า
กรณีที่ 3:การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของทูเพิลแต่ละตัว ในกรณีนี้ 5>6 ซึ่งเป็นเท็จ ดังนั้นมันจึงเข้าไปในบล็อกอื่นและพิมพ์ว่า "b ใหญ่กว่า"
การใช้ทูเพิลเป็นกุญแจในพจนานุกรม
เนื่องจาก tuples สามารถแฮชได้ และ list ไม่ได้ เราจึงต้องใช้ tuple เป็นคีย์ หากเราจำเป็นต้องสร้างคีย์ผสมเพื่อใช้ในพจนานุกรม
ตัวอย่าง : เราจะเจอคีย์ผสมถ้าเราต้องสร้างสมุดโทรศัพท์ที่จับคู่ ชื่อ นามสกุล หมายเลขโทรศัพท์คู่ ฯลฯ สมมติว่าเราได้ประกาศตัวแปรเป็นตัวเลขสุดท้ายและตัวแรก เราก็ทำได้ เขียนคำสั่งกำหนดพจนานุกรมดังที่แสดงด้านล่าง:
ไดเร็กทอรี[last,first] = number
ภายในวงเล็บ นิพจน์เป็นทูเพิล เราสามารถใช้การมอบหมายทูเพิลในลูปเพื่อนำทางพจนานุกรมนี้
สุดท้าย อันดับแรกในไดเร็กทอรี:
พิมพ์ก่อน, ล่าสุด, ไดเรกทอรี[สุดท้าย, แรก]
ลูปนี้นำทางคีย์ในไดเร็กทอรี ซึ่งเป็นทูเพิล มันกำหนดองค์ประกอบของทูเพิลแต่ละตัวให้อยู่ก่อนแล้วค่อยพิมพ์ชื่อและหมายเลขโทรศัพท์ที่เกี่ยวข้อง
Tuples และพจนานุกรม
พจนานุกรมสามารถส่งคืนรายการของทูเพิลได้โดยการเรียกรายการ โดยที่ทูเพิลแต่ละตัวเป็นคู่ของค่าคีย์
a = {'x':100, 'y':200} b = รายการ (a.items()) พิมพ์ (ข)
กำลังลบ Tuples
Tuples จะไม่เปลี่ยนรูปและไม่สามารถลบได้ คุณไม่สามารถลบหรือลบรายการออกจากทูเพิล แต่การลบทูเพิลทั้งหมดทำได้โดยใช้คีย์เวิร์ด
ของ
หั่นทูเปิล
ในการดึงชุดองค์ประกอบย่อยเฉพาะจากทูเพิลหรือรายการ เราใช้ฟังก์ชันพิเศษที่เรียกว่าการแบ่งส่วน Slicing ไม่เพียงใช้ได้กับ tuple เท่านั้น แต่ยังรวมถึงอาร์เรย์และรายการด้วย
x = ("a", "b","c", "d", "e") พิมพ์(x[2:4])
ผลลัพธ์ของรหัสนี้จะเป็น ('c', 'd')
นี่คือโค้ด Python 2 สำหรับตัวอย่างด้านบนทั้งหมด
tup1 = ('โรเบิร์ต' 'คาร์ลอส' '1965' 'เทอร์มิเนเตอร์ 1995' 'นักแสดง' 'ฟลอริดา'); tup2 = (1,2,3,4,5,6,7); พิมพ์ tup1[0] พิมพ์ tup2[1:4] #การบรรจุและแกะ x = ("Guru99", 20, "Education") # ทูเพิลบรรจุ (บริษัท, emp, โปรไฟล์) = x # tuple unpacking บริษัทพิมพ์ พิมพ์ emp พิมพ์โปรไฟล์ #การเปรียบเทียบสิ่งอันดับ #เคส1 เป็น=(5,6) ข=(1,4) ถ้า (a>b): พิมพ์ "a ใหญ่กว่า" อย่างอื่น: พิมพ์ "b ใหญ่กว่า" #เคส2 เป็น=(5,6) ข=(5,4) ถ้า (a>b): พิมพ์ "a ใหญ่กว่า" อย่างอื่น: พิมพ์ "b ใหญ่กว่า" #เคส3 เป็น=(5,6) ข=(6,4) ถ้า (a>b): พิมพ์ "a ใหญ่กว่า" อย่างอื่น: พิมพ์ "b ใหญ่กว่า" #ทูเปิลส์และพจนานุกรม a = {'x':100, 'y':200} b = a.items() พิมพ์ข #หั่นทูเปิล x = ("a", "b","c", "d", "e") พิมพ์ x[2:4]
ฟังก์ชันในตัวด้วย Tuple
ในการทำงานที่แตกต่างกัน tuple อนุญาตให้คุณใช้ฟังก์ชันในตัวมากมาย เช่น all(), any(), enumerate(), max(), min(), sorted(), len(), tuple() เป็นต้น
ข้อดีของทูเพิลโอเวอร์ลิสต์
- การวนซ้ำผ่านทูเพิลนั้นเร็วกว่าด้วยรายการ เนื่องจากทูเพิลจะไม่เปลี่ยนรูป
- ทูเปิลที่ประกอบด้วยองค์ประกอบที่ไม่เปลี่ยนรูปสามารถใช้เป็นคีย์สำหรับพจนานุกรมซึ่งไม่สามารถทำได้กับรายการ
- หากคุณมีข้อมูลที่เปลี่ยนแปลงไม่ได้ การนำไปใช้เป็น tuple จะรับประกันว่าจะยังคงได้รับการป้องกันการเขียนอยู่
สรุป
Python มีคุณสมบัติการกำหนด tuple ซึ่งช่วยให้คุณสามารถกำหนดตัวแปรได้มากกว่าหนึ่งตัวในแต่ละครั้ง
- การบรรจุและการแกะทูเปิลส์
- ในการบรรจุ เราใส่ค่าลงใน tuple ใหม่ ในขณะที่แตกไฟล์ เราจะแยกค่าเหล่านั้นกลับเข้าไปในตัวแปร
- ตัวดำเนินการเปรียบเทียบใน Python สามารถทำงานกับสิ่งอันดับ
- การใช้ทูเพิลเป็นกุญแจในพจนานุกรม
- Tuples สามารถแฮชได้และรายการไม่ได้
- เราต้องใช้ทูเพิลเป็นคีย์หากเราจำเป็นต้องสร้างคีย์ผสมเพื่อใช้ในพจนานุกรม
- พจนานุกรมสามารถส่งคืนรายการของทูเพิลได้โดยการเรียกรายการ โดยที่ทูเพิลแต่ละตัวเป็นคู่ของค่าคีย์
- Tuples จะไม่เปลี่ยนรูปและไม่สามารถลบได้ คุณไม่สามารถลบหรือลบรายการออกจากทูเพิล แต่การลบ tuple ทั้งหมดทำได้โดยใช้คำหลัก "del"
- ในการดึงชุดองค์ประกอบย่อยเฉพาะจากทูเพิลหรือรายการ เราใช้ฟังก์ชันพิเศษที่เรียกว่า slicing
0 ความคิดเห็น:
แสดงความคิดเห็น