Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ความแตกต่างและความคล้ายคลึงกันระหว่าง tuples และรายการใน Python คืออะไร


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

ความคล้ายคลึงกัน

การต่อข้อมูล การทำซ้ำ การสร้างดัชนี และการแบ่งส่วนสามารถทำได้บนวัตถุทั้งสองประเภท

>>> #list operation>>> L1=[1,2,3]>>> L2=[4,5,6]>>> #concatenation>>>> L3=L1+L2>>>> L3 [1, 2, 3, 4, 5, 6]>>> #repetition>>> L1*3[1, 2, 3, 1, 2, 3, 1, 2, 3]>>>> #indexing>>> L3[4]5>>> #slicing>>> L3[2:4][3, 4]


>>> #การดำเนินการ #tuple>>> T1=(1,2,3)>>> T2=(4,5,6)>>> #concatenation>>>> T3=T1+T2>>> T3 (1, 2, 3, 4, 5, 6)>>> #repetition>>> T1*3(1, 2, 3, 1, 2, 3, 1, 2, 3)>>>> #indexing>>> T3[4]5>>> #slicing>>> T3[2:4](3, 4)

ฟังก์ชันในตัวต่อไปนี้เป็นเรื่องปกติสำหรับทั้งสองประเภท

เลน() − ส่งคืนจำนวนองค์ประกอบตามลำดับ

>>> L1=[45,32,16,72,24]>>> len(L1)5>>> T1=(45,32,16,72,24)>>> len(T3) 

สูงสุด() − ส่งกลับองค์ประกอบที่มีค่ามากที่สุด

>>> max(L1)72>>> max(T1)72

นาที() − ส่งกลับองค์ประกอบที่มีค่าน้อยที่สุด

>>> max(T1)72>>> min(L1)16>>> min(T1)16

ความแตกต่าง

รายการวัตถุไม่แน่นอน จึงสามารถผนวก ปรับปรุง หรือลบรายการออกจากรายการได้

<ก่อนหน้า>>>> L1=[45,32,16,72,24]>>> L1.append(56)>>> L1[45, 32, 16, 72, 24, 56]>>> L1. ใส่ (4,10) #insert 10 ที่ดัชนีที่ 4>>> L1[45, 32, 16, 72, 10, 24, 56]>>> L1.remove(16)>>> L1[45, 32, 72 , 10, 24, 56]>>> L1[2]=100 #update>>> L1[45, 32, 100, 10, 24, 56]

Tuple เป็นวัตถุที่ไม่เปลี่ยนรูป การดำเนินการใด ๆ ที่พยายามแก้ไข จะส่งผลให้เกิด AttributeError

T1.append(56)AttributeError:วัตถุ 'tuple' ไม่มีแอตทริบิวต์ 'append'>>> T1.remove(16)AttributeError:วัตถุ 'tuple' ไม่มีแอตทริบิวต์ 'remove'>>> T1[2]=100TypeError:วัตถุ 'tuple' ไม่รองรับการกำหนดรายการ