เรียนรู้เกี่ยวกับฟังก์ชัน 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 นี่เป็นอีกสาเหตุหนึ่งที่ทำให้การจัดทำดัชนีเร็วขึ้นในทูเพิลเมื่อเทียบกับรายการ