เรียนรู้เกี่ยวกับฟังก์ชัน Python Tuples [พร้อมตัวอย่าง]
เผยแพร่แล้ว: 2020-03-20ทูเพิลคือลำดับหรือชุดของอ็อบเจ็กต์ที่คั่นด้วยเครื่องหมายจุลภาค คล้ายกับรายการในหลาย ๆ ด้าน ยกเว้นว่าองค์ประกอบไม่สามารถเปลี่ยนแปลงได้หลังจากสร้างแล้ว และไม่เหมือนรายการ ทูเพิลใน Python เป็นอ็อบเจกต์ที่ไม่เปลี่ยนรูป นอกจากนี้ยังใช้วงเล็บไม่ใช่วงเล็บเหลี่ยม
การสร้างทูเพิลนั้นง่ายพอๆ กับการวางค่าที่คั่นด้วยเครื่องหมายจุลภาค บางครั้งอยู่ระหว่างวงเล็บ นี่คือตัวอย่างบางส่วน:
- tup1 = ( 'ภาษาอังกฤษ', 'ภาษาฮินดี', 1998, 2016)
- tup2 = “c”, “d”, “e”, “f”
- tup3 = (5, 6, 7, 8, 9)
ดังที่คุณเห็น ทูเพิลอาจมีองค์ประกอบจำนวนเท่าใดก็ได้ และอาจมีหลายประเภท เช่น จำนวนเต็ม รายการ สตริง และอื่นๆ การใช้วงเล็บเป็นทางเลือก แต่ถือว่าเป็นแนวปฏิบัติที่ดีในการปฏิบัติตาม ตอนนี้ ให้เราเจาะลึกข้อมูลเฉพาะ
หากคุณเป็นมือใหม่และสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดูใบรับรองวิทยาศาสตร์ข้อมูลของเราจากมหาวิทยาลัยชั้นนำ
อ่านเกี่ยวกับ: ตัวดำเนินการใน Python
สารบัญ
Tuples ใน Python
1. การสร้างทูเพิล
ทูเพิลว่างประกอบด้วยวงเล็บสองอันที่ไม่มีสิ่งใดอยู่ภายใน นั่นคือ () นี่คือวิธีการสร้าง:
ว่างเปล่า _tup = ()
พิมพ์ (empty_tup)
#ผลผลิต
()
ตอนนี้ มาดูกันว่าเราจะสร้างทูเพิลที่ไม่ว่างเปล่าได้อย่างไร การสร้างทูเพิลโดยไม่มีวงเล็บเรียกว่าทูเพิลแพ็ก
tup='เมาส์', 'คีย์บอร์ด'
พิมพ์ (ทับ)
#ผลผลิต
('เมาส์', 'คีย์บอร์ด')
หรือคุณสามารถใช้วงเล็บสำหรับเอาต์พุตเดียวกันได้
tup= ('เมาส์', 'คีย์บอร์ด')
พิมพ์ (ทับ)
#ผลผลิต
('เมาส์' คีย์บอร์ด')
สำหรับทูเพิลที่มีองค์ประกอบเดียว เพียงแค่ใส่องค์ประกอบเดียวในวงเล็บจะไม่ทำงาน คุณจะต้องใส่เครื่องหมายจุลภาคต่อท้ายเพื่อระบุว่าเป็นทูเพิล ลองพิจารณาตัวอย่างต่อไปนี้
ทูป=(50,)
2. การต่อกัน การซ้อน และการทำซ้ำ
ในการต่อสอง tuples ใน python คุณสามารถเขียนโค้ดต่อไปนี้:
my_tup=(0,1,2,3,4,5)
your_tup=('สวัสดี', 'ลาก่อน')
พิมพ์ (my_tup + your_tup)
#ผลผลิต
(0,1,2,3,4,5, 'สวัสดี', 'ลาก่อน')
ด้านล่างนี้คือรหัสสำหรับสร้าง tuples ที่ซ้อนกัน:
tup1=(0,1,2)
tup2=('python', 'เรียนรู้')
tup3=(tup1, tup2)
พิมพ์(tup3)
#ผลผลิต
((0,1,2),('หลาม','เรียนรู้'))
ในการสร้างทูเพิลที่มีการทำซ้ำ ให้ทำตามขั้นตอนด้านล่าง:
new_tup=('สวัสดี',)*4
พิมพ์ (new_tup)
#ผลผลิต
('สวัสดี', 'สวัสดี', 'สวัสดี', 'สวัสดี')
ในการเขียนโค้ดด้านบนโดยไม่ใส่เครื่องหมายจุลภาค คุณจะได้รับสตริง hihihihi เป็นเอาต์พุตสำหรับ new_tup
อ่าน: โมดูล Python 5 อันดับแรก
3. การเข้าถึงทูเปิลส์
ในการเข้าถึงค่าในทูเพิล คุณใช้วงเล็บเหลี่ยมกับดัชนี ใช้รหัสด้านล่างเพื่อทดสอบการแบ่งส่วน
ทูเพิล=(0,1,2,3)
พิมพ์(ทูเพิล[1:])
พิมพ์(ทูเพิล[::-1])
พิมพ์(ทูเพิล[2:4])
#ผลผลิต
(1,2,3)
(3,2,1,0)
(2,3)
4. การจัดการกับความไม่เปลี่ยนรูป
เป็นไปไม่ได้ที่จะอัปเดตหรือเปลี่ยนค่าขององค์ประกอบ แต่คุณสามารถสร้าง tuples ใหม่ได้โดยใช้ส่วนของ tuples ที่มีอยู่ ดังที่แสดงในตัวอย่างด้านล่าง
tuple1=('ab', 'xy')
ทูเพิล2=(13,14)
#action ไม่ถูกต้องสำหรับ tuples
#tuple1[0]=50
#การสร้างทูเพิลใหม่
tuple3=tuple1+tuple2
พิมพ์ tuple3
#ผลผลิต
('ab', 'xy', 13, 14)
ในทำนองเดียวกัน คุณไม่สามารถลบแต่ละองค์ประกอบใน tuples เนื่องจากไม่สามารถเปลี่ยนรูปแบบได้ อย่างไรก็ตาม คุณสามารถรวบรวมทูเพิลอื่นเพื่อทิ้งองค์ประกอบที่ไม่ต้องการได้ และคุณสามารถลบทูเพิลทั้งหมดได้โดยใช้คำสั่ง del อย่างชัดเจน
tuple1=('มกราคม', กุมภาพันธ์')
del tuple1
อ่านเพิ่มเติม: เงินเดือนนักพัฒนา Python ในอินเดีย
ปฏิบัติการทูเพิลขั้นพื้นฐาน
มีฟังก์ชันทูเพิลในตัวมากมายในไพ ธ อน เช่น len(), cmp(), max(), min() และ tuple(seq) ให้เราสาธิตการใช้งานทีละรายการ
- การหาความยาวของทูเพิล
my_tuple = ('อัพเกรด', 'หลาม')
พิมพ์(len(my_tuple))

#ผลผลิต
2
- เปรียบเทียบองค์ประกอบ
tup1 = ('upgrad','python')
tup2 = ('ผู้เข้ารหัส', 1)
ถ้า (cmp(tup1, tup2) != 0):
# cmp() คืนค่า 0 หากตรงกัน 1 เมื่อไม่ใช่ tup1
# ยาวขึ้นและ -1 เมื่อ tup1 สั้นลง
พิมพ์ ('ไม่เหมือนกัน')
อื่น:
พิมพ์('เหมือนเดิม')
#ผลผลิต
ไม่เหมือนกัน
- ค่าสูงสุดและต่ำสุด
พิมพ์ ('องค์ประกอบสูงสุดใน tuples 1,2: ' + str(max(tup1)) + ',' + str(max(tup2)))
พิมพ์ ('องค์ประกอบขั้นต่ำใน tuples 1,2: ' + str(min(tup1)) + ',' + str(min(tup2)))
#ผลผลิต
องค์ประกอบสูงสุดใน tuples 1,2: upgrad,coder
องค์ประกอบขั้นต่ำในทูเพิล 1,2: python,1
คุณจะสังเกตว่าการตรวจสอบ max() และ min() ขึ้นอยู่กับค่า ASCII ในกรณีที่มีสองสตริงในทูเพิล python จะตรวจสอบอักขระที่แตกต่างกันตัวแรกในสตริง
- การแปลงรายการและสตริงเป็นทูเพิล
รายการ1 = [0, 1, 2,3]
พิมพ์(ทูเพิล(รายการ1))
พิมพ์ (ทูเพิล ('อัพเกรด')) # สตริง 'อัพเกรด'
#ผลผลิต
(0,1,2,3)
('u', 'p', 'g', 'r', 'a', 'd')
ในที่นี้ พารามิเตอร์เดียว เช่น รายการ สตริง ชุด คีย์พจนานุกรม จะถูกนำและแปลงเป็นทูเพิล
วิธีสร้างทูเพิลในลูป
ตอนนี้ มาดูการสร้างทูเพิลในลูปกัน คุณสามารถทำตามรหัสหลามต่อไปนี้เพื่อทำ
ทูเพิล=('python',)
n=3 #จำนวนครั้งที่ลูปทำงาน
หรือฉันอยู่ในช่วง (int(n)):
ทูเพิล=(ทูเพิล,)
พิมพ์ทูเพิล
#ผลผลิต
(('หลาม',),)
((('งูหลาม',),),)
(((('python',),),),)
อย่างที่คุณเห็น มีหลายวิธีในการสร้างทูเพิลและทำซ้ำ
ข้อดีเหนือรายการ
รายการและ ทูเพิลใน Python มักใช้ในสถานการณ์ที่คล้ายคลึงกัน แต่สิ่งอันดับเป็นที่นิยมมากกว่ารายการเนื่องจากเหตุผลหลายประการ บางส่วนของพวกเขามีการระบุไว้ด้านล่าง
- Tuples ใช้สำหรับข้อมูลประเภทต่างๆ ในทางกลับกัน รายการจะเหมาะสมกว่าสำหรับประเภทข้อมูลที่เป็นเนื้อเดียวกัน
- Tuples ให้การเพิ่มประสิทธิภาพเนื่องจากการวนซ้ำเร็วกว่าเมื่อเทียบกับรายการ นี่เป็นผลมาจากธรรมชาติที่ไม่เปลี่ยนรูปของพวกเขา
- คุณสามารถใช้ tuple เพื่อป้องกันการเขียนข้อมูลของคุณ
- องค์ประกอบที่ไม่เปลี่ยนรูปสามารถใช้เป็นคีย์พจนานุกรมได้
บทสรุป
ในบทความนี้ เราเข้าใจทุกอย่างเกี่ยวกับ tuples ใน Python ตั้งแต่สิ่งที่เป็นอยู่และวิธีสร้างมัน ไปจนถึงการทำงานและประโยชน์ที่แตกต่างกัน ข้อมูลนี้จะมีประโยชน์อย่างแน่นอนเมื่อคุณก้าวไปข้างหน้าในเส้นทางการเรียนรู้ Python ของคุณ!
หากคุณกำลังอ่านบทความนี้ เป็นไปได้มากว่าคุณมีความทะเยอทะยานที่จะเป็นนักพัฒนา Python หากคุณสนใจที่จะเรียนรู้ python และต้องการใช้เครื่องมือและไลบรารีต่างๆ ให้สกปรก ให้ลองดู Executive PG Program ใน Data Science
คุณสมบัติของ tuples ใน Python คืออะไร?
ใน Python tuple คือคอลเล็กชันที่เรียงลำดับของอ็อบเจ็กต์ที่ไม่สามารถเปลี่ยนแปลงได้ ที่นี่ อ็อบเจ็กต์ใน Python อาจเป็นอะไรก็ได้ เช่น จำนวนเต็ม ทูเพิล รายการ สตริง ฯลฯ ลำดับการแทรกจะถูกรักษาไว้เนื่องจากการแสดงเอาต์พุตจะขึ้นอยู่กับลำดับที่องค์ประกอบถูกแทรก ทูเปิลนั้นไม่เปลี่ยนรูป และคุณไม่สามารถแก้ไขออบเจ็กต์ได้เมื่อเพิ่มเข้าไปในทูเปิลแล้ว Tuples สามารถจัดเก็บวัตถุทั้งชนิดเดียวกันและชนิดต่างๆ ได้ การจัดทำดัชนีมีบทบาทสำคัญในสิ่งอันดับ คุณสามารถจัดเก็บรายการที่ซ้ำกันในทูเพิล คุณสามารถใช้ทั้งดัชนีบวกและลบใน tuples โดยที่ดัชนีบวกหมายถึงทิศทางไปข้างหน้า และดัชนีเชิงลบหมายถึงทิศทางย้อนกลับ คุณต้องใช้ลูกน้ำเป็นตัวคั่นเพื่อแยกวัตถุในทูเปิล
มีเมธอดในตัวในทูเพิลหรือไม่
ใช่ มีสองวิธีในตัวสำหรับใช้ใน tuples ทูเปิลจะไม่เปลี่ยนรูป และคุณไม่ได้รับอนุญาตให้เปลี่ยนออบเจกต์ในทูเพิลหลังจากเพิ่มเข้าไป ออบเจ็กต์ทูเพิลสามารถเรียกเมธอดที่มีอยู่ภายในสองวิธี ได้แก่ count() และ index() count() จะคืนค่าจำนวนครั้งที่ค่าใด ๆ เกิดขึ้นในทูเพิลทั้งหมด index() จะค้นหา tuple ทั้งหมดสำหรับค่าที่ระบุและส่งคืนตำแหน่งที่พบค่านั้น
เหตุใด tuples จึงเร็วกว่ารายการใน Python
มีอ็อบเจกต์ที่เปลี่ยนแปลงได้และไม่เปลี่ยนรูปใน Python โดยที่รายการอยู่ภายใต้รายการที่เปลี่ยนแปลงได้ และ tuples จะอยู่ภายใต้รายการที่ไม่เปลี่ยนรูปแบบ Tuples ถูกเก็บไว้ในหน่วยความจำบล็อกเดียว และไม่มีข้อกำหนดสำหรับพื้นที่เพิ่มเติมสำหรับการจัดเก็บวัตถุใหม่
ในทางกลับกัน รายการจะถูกจัดสรรในสองช่วงตึก โดยที่หนึ่งบล็อกเก็บข้อมูลของวัตถุ และอีกบล็อกหนึ่งมีขนาดตัวแปรสำหรับการเพิ่มข้อมูลใหม่ นี่คือสาเหตุหลักที่ทำให้ tuples เร็วกว่ารายการใน Python นี่เป็นอีกสาเหตุหนึ่งที่ทำให้การจัดทำดัชนีเร็วขึ้นในทูเพิลเมื่อเทียบกับรายการ