Computer >> Máy Tính >  >> Lập trình >> Python

Sự khác biệt và giống nhau giữa bộ giá trị và danh sách trong Python là gì?

Cả List và Tuple đều được gọi là kiểu dữ liệu chuỗi của Python. Đối tượng của cả hai loại là tập hợp các mục được phân tách bằng dấu phẩy không nhất thiết phải cùng loại.

Điểm tương đồng

Nối, lặp lại, lập chỉ mục và cắt có thể được thực hiện trên các đối tượng của cả hai loại

>>> #list operations
>>> 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 operations
>>> 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)

Các chức năng tích hợp sau đây là chung cho cả hai loại

len () - trả về số phần tử trong trình tự

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

max () - trả về phần tử có giá trị lớn nhất.

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

min () - trả về phần tử có giá trị nhỏ nhất.

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

Sự khác biệt

Đối tượng danh sách có thể thay đổi. Do đó, có thể thêm, cập nhật hoặc xóa một mục khỏi danh sách.

>>> L1=[45,32,16,72,24]
>>> L1.append(56)
>>> L1
[45, 32, 16, 72, 24, 56]
>>> L1.insert(4,10) #insert 10 at 4th index
>>> 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 là đối tượng bất biến. Bất kỳ thao tác nào cố gắng sửa đổi nó đều dẫn đến AttributeError

T1.append(56)
AttributeError: 'tuple' object has no attribute 'append'
>>> T1.remove(16)
AttributeError: 'tuple' object has no attribute 'remove'
>>> T1[2]=100
TypeError: 'tuple' object does not support item assignment