Python TUPLE – แพ็ค, แกะ, เปรียบเทียบ, การแบ่งส่วน, ลบ, คีย์

Tuple Matching คืออะไร Python?

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

ไวยากรณ์ทูเพิล

Tup = ('Jan','feb','march')

ในการเขียนทูเพิลว่าง คุณต้องเขียนเป็นสองวงเล็บโดยไม่มีอะไร-

tup1 = ();

ในการเขียนทูเพิลสำหรับค่าเดียว คุณจะต้องใส่เครื่องหมายจุลภาค แม้ว่าจะมีค่าเดียวก็ตาม ในตอนท้ายคุณต้องเขียนอัฒภาคตามที่แสดงด้านล่าง

Tup1 = (50,);

ดัชนีทูเพิลเริ่มต้นที่ 0 และสามารถต่อกัน แบ่งส่วน และอื่นๆ ได้

การมอบหมาย Tuple

Python มีคุณสมบัติการกำหนดสิ่งอันดับซึ่งช่วยให้คุณสามารถกำหนดตัวแปรได้มากกว่าหนึ่งตัวแปรในแต่ละครั้ง ในที่นี้ เราได้กำหนด tuple 1 ให้กับข้อมูลบุคคล เช่น ชื่อ นามสกุล ปีเกิด ฯลฯ และอีก 2 tuple ที่มีค่าต่างๆ อยู่ในนั้น เช่น ตัวเลข (1,2,3,….,7)

ตัวอย่างเช่น,

(ชื่อ, นามสกุล, ปีเกิด, หนังที่ชอบและปี, อาชีพ, บ้านเกิด) = โรเบิร์ต

นี่คือรหัส

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print(tup1[0])
print(tup2[1:4])
  • Tuple 1 รวมรายการข้อมูลของ Robert
  • ทูเพิล 2 มีรายการตัวเลขอยู่ในนั้น
  • เราเรียกค่าสำหรับ [0] เป็นทูเพิล และสำหรับทูเพิล 2 เราเรียกค่าระหว่าง 1 ถึง 4
  • เรียกใช้รหัส - ให้ชื่อ Robert สำหรับทูเพิลแรกในขณะที่ทูเพิลที่สองจะให้หมายเลข (2,3 และ 4)

การบรรจุและการเปิดออก

ในการบรรจุ เราจะใส่ค่าลงในทูเพิลใหม่ในขณะที่ทำการคลายแพ็ก เราจะแยกค่าเหล่านั้นกลับไปเป็นตัวแปร

x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print(company)
print(emp)
print(profile)

การเปรียบเทียบสิ่งอันดับ

ตัวดำเนินการเปรียบเทียบใน Python สามารถทำงานกับสิ่งอันดับได้

การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของแต่ละทูเพิล หากไม่เปรียบเทียบกับ =,< หรือ > ก็จะไปยังองค์ประกอบที่สองไปเรื่อยๆ

เริ่มต้นด้วยการเปรียบเทียบองค์ประกอบแรกจากแต่ละสิ่งอันดับ

ลองศึกษาสิ่งนี้ด้วยตัวอย่าง -

#กรณีที่1

a=(5,6)
b=(1,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

#กรณีที่2

a=(5,6)
b=(5,4)
if (a>b):print("a is bigger")
else: print ("b is bigger")

#กรณีที่3

a=(5,6)
b=(6,4)
if (a>b):print("a is bigger")
else: print("b is bigger")

กรณีที่ 1: การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของแต่ละทูเพิล ในกรณีนี้ 5>1 ดังนั้นเอาต์พุต a จึงใหญ่กว่า

กรณีฮิต: การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของแต่ละทูเพิล ในกรณีนี้ 5>5 ซึ่งไม่สามารถสรุปได้ ดังนั้นมันจึงดำเนินต่อไปยังองค์ประกอบถัดไป 6>4 ดังนั้นเอาต์พุต a จึงใหญ่กว่า

กรณีฮิต: การเปรียบเทียบเริ่มต้นด้วยองค์ประกอบแรกของแต่ละทูเพิล ในกรณีนี้ 5>6 ซึ่งเป็นเท็จ ดังนั้นมันจึงเข้าไปในบล็อก else แล้วพิมพ์ว่า "b ใหญ่กว่า"

การใช้สิ่งอันดับเป็นกุญแจในพจนานุกรม

เนื่องจากทูเปิลสามารถแฮชได้ แต่รายการไม่ใช่แบบแฮช เราจึงต้องใช้ทูเพิลเป็นคีย์หากเราต้องการสร้างคีย์ผสมเพื่อใช้ในพจนานุกรม

ตัวอย่าง:เราจะเจอคีย์ผสมหากเราจำเป็นต้องสร้างสมุดโทรศัพท์ที่แมปชื่อ ชื่อสกุล คู่หมายเลขโทรศัพท์ ฯลฯ โดยถือว่าเราประกาศตัวแปรเป็นหมายเลขนามสกุลและหมายเลขแรก เราสามารถเขียนคำสั่งกำหนดค่าพจนานุกรมดังแสดงด้านล่าง:

directory[last,first] = number

ภายในวงเล็บ นิพจน์จะเป็นทูเพิล เราสามารถใช้การกำหนดทูเพิลในลูป for เพื่อนำทางพจนานุกรมนี้

for last, first in directory:
print first, last, directory[last, first]

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

สิ่งอันดับและพจนานุกรม

พจนานุกรมสามารถส่งคืนรายการสิ่งอันดับโดยการเรียกรายการ โดยที่แต่ละสิ่งอันดับเป็นคู่ของค่าคีย์

a = {'x':100, 'y':200}
b = list(a.items())
print(b)

กำลังลบสิ่งอันดับ

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

del

การหั่นของ Tuple

ในการดึงชุดขององค์ประกอบย่อยเฉพาะจากทูเพิลหรือรายการ เราจะใช้ฟังก์ชันพิเศษนี้ที่เรียกว่าการแบ่งส่วน การแบ่งส่วนไม่เพียงแต่ใช้ได้กับทูเพิลเท่านั้น แต่ยังรวมถึงอาร์เรย์และรายการด้วย

x = ("a", "b","c", "d", "e")
print(x[2:4])

ผลลัพธ์ของโค้ดนี้จะเป็น ('c', 'd')

ที่นี่คือ Python 2 รหัสสำหรับตัวอย่างข้างต้นทั้งหมด

tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida');
tup2 = (1,2,3,4,5,6,7);
print  tup1[0]
print  tup2[1:4]

#Packing and Unpacking
x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print company
print emp
print profile

#Comparing tuples
#case 1
a=(5,6)
b=(1,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 2
a=(5,6)
b=(5,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#case 3
a=(5,6)
b=(6,4)
if (a>b):print "a is bigger"
else: print "b is bigger"

#Tuples and dictionary
a = {'x':100, 'y':200}
b = a.items()
print b 

#Slicing of Tuple
x = ("a", "b","c", "d", "e")
print x[2:4]

ฟังก์ชั่นในตัวพร้อม Tuple

ในการทำงานที่แตกต่างกัน tuple อนุญาตให้คุณใช้ฟังก์ชันในตัวมากมาย เช่น all(), any(), enumerate(), max(), min(), sorted(), len(), tuple() ฯลฯ

ข้อดีของสิ่งอันดับเหนือรายการ

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

สรุป

Python มีคุณสมบัติการกำหนดสิ่งอันดับซึ่งช่วยให้คุณสามารถกำหนดตัวแปรได้มากกว่าหนึ่งตัวแปรในแต่ละครั้ง

  • การบรรจุและการแกะสิ่งอันดับ
  • ในการบรรจุ เราจะใส่ค่าลงในทูเพิลใหม่ในขณะที่ทำการคลายแพ็ก เราจะแยกค่าเหล่านั้นกลับไปเป็นตัวแปร
  • A ตัวดำเนินการเปรียบเทียบใน Python สามารถทำงานกับสิ่งอันดับได้
  • การใช้สิ่งอันดับเป็นกุญแจในพจนานุกรม
  • สิ่งอันดับสามารถแฮชได้ แต่รายการไม่ใช่
  • เราต้องใช้ทูเพิลเป็นคีย์หากเราต้องการสร้างคีย์ผสมเพื่อใช้ในพจนานุกรม
  • พจนานุกรมสามารถส่งคืนรายการสิ่งอันดับโดยการเรียกรายการ โดยที่แต่ละสิ่งอันดับเป็นคู่ของค่าคีย์
  • สิ่งอันดับไม่เปลี่ยนรูปและไม่สามารถลบได้ คุณไม่สามารถลบหรือลบรายการออกจากทูเพิลได้ แต่การลบทูเพิลทั้งหมดสามารถทำได้โดยใช้คีย์เวิร์ด “del”
  • ในการดึงชุดขององค์ประกอบย่อยเฉพาะจากทูเพิลหรือรายการ เราจะใช้ฟังก์ชันพิเศษนี้ที่เรียกว่าการแบ่งส่วน