Sự thật là các bộ dữ liệu được tạo bằng dấu phẩy VÀ không yêu cầu dấu ngoặc đơn. Bạn có thể tạo một tuple như thế này
MAGENTA = 255, 0, 255 #Avoid this
Nhưng chỉ vì bạn có thể không có nghĩa là bạn nên. Bạn nên làm quen với việc bao gồm cả dấu ngoặc đơn, bởi vì đôi khi bạn cần chúng
Cách tốt nhất để hiểu tại sao bạn nên tập thói quen sử dụng dấu ngoặc đơn khi tạo bộ dữ liệu là xem một số mã Python
Trong Python, một bộ tương tự như Danh sách ngoại trừ các đối tượng trong bộ là bất biến, điều đó có nghĩa là chúng ta không thể thay đổi các phần tử của một bộ sau khi được gán. Mặt khác, chúng ta có thể thay đổi các thành phần của danh sách
1. Tuple vs Danh sách
1. Các phần tử của danh sách có thể thay đổi trong khi các phần tử của bộ dữ liệu là bất biến.
2. Khi chúng tôi không muốn thay đổi dữ liệu theo thời gian, bộ dữ liệu là loại dữ liệu được ưu tiên trong khi khi chúng tôi cần thay đổi dữ liệu trong tương lai, danh sách sẽ là một lựa chọn khôn ngoan.
3. Việc lặp qua các phần tử của một tuple nhanh hơn so với việc lặp qua một danh sách.
4. Các phần tử của bộ được đặt trong dấu ngoặc đơn trong khi các phần tử của danh sách được đặt trong dấu ngoặc vuông.
2. Cách tạo một bộ trong Python
Để tạo một bộ trong Python, hãy đặt tất cả các phần tử trong dấu ngoặc đơn [], phân tách bằng dấu phẩy. Một bộ có thể có các mục dữ liệu không đồng nhất, một bộ cũng có thể có chuỗi và danh sách dưới dạng các mục dữ liệu
2. 1 Ví dụ – Tạo tuple
Trong ví dụ này, chúng tôi đang tạo một vài bộ dữ liệu. Chúng ta có thể có nhiều loại mục dữ liệu giống nhau cũng như các loại mục dữ liệu hỗn hợp. Ví dụ này cũng hiển thị các bộ dữ liệu lồng nhau [các bộ dữ liệu dưới dạng các mục dữ liệu trong một bộ dữ liệu khác]
# tuple of strings my_data = ["hi", "hello", "bye"] print[my_data] # tuple of int, float, string my_data2 = [1, 2.8, "Hello World"] print[my_data2] # tuple of string and list my_data3 = ["Book", [1, 2, 3]] print[my_data3] # tuples inside another tuple # nested tuple my_data4 = [[2, 3, 4], [1, 2, "hi"]] print[my_data4]
đầu ra
['hi', 'hello', 'bye'] [1, 2.8, 'Hello World'] ['Book', [1, 2, 3]] [[2, 3, 4], [1, 2, 'hi']]
2. 2 Bộ trống
# empty tuple my_data = []
2. 3 Tuple chỉ có một phần tử
Ghi chú. Khi một bộ chỉ có một phần tử, chúng ta phải đặt dấu phẩy sau phần tử, nếu không Python sẽ không coi nó là một bộ
# a tuple with single data item my_data = [99,]
Nếu chúng ta không đặt dấu phẩy sau 99 trong ví dụ trên thì python sẽ coi my_data là một biến int chứ không phải là một tuple
3. Cách truy cập các phần tử tuple
Chúng tôi sử dụng các chỉ mục để truy cập các phần tử của một tuple. Hãy lấy một vài ví dụ để hiểu hoạt động
3. 1 Truy cập các phần tử tuple bằng cách sử dụng các chỉ mục tích cực
Chúng ta cũng có thể có các chỉ số âm trong tuple, chúng ta đã thảo luận điều đó trong phần tiếp theo. Các chỉ mục bắt đầu bằng 0, đó là lý do tại sao chúng ta sử dụng 0 để truy cập phần tử đầu tiên của bộ dữ liệu, 1 để truy cập phần tử thứ hai, v.v.
# tuple of strings my_data = ["hi", "hello", "bye"] # displaying all elements print[my_data] # accessing first element # prints "hi" print[my_data[0]] # accessing third element # prints "bye" print[my_data[2]]
đầu ra
['hi', 'hello', 'bye'] hi bye
Ghi chú.
1. LoạiLỗi. Nếu bạn không sử dụng các chỉ mục số nguyên trong bộ dữ liệu. Ví dụ my_data[2. 0] sẽ gây ra lỗi này. Chỉ số phải luôn là một số nguyên.
2. Chỉ mụcLỗi. Chỉ mục nằm ngoài phạm vi. Lỗi này xảy ra khi chúng tôi đề cập đến chỉ mục không nằm trong phạm vi. Ví dụ: nếu một bộ có 5 phần tử và chúng tôi cố gắng truy cập phần tử thứ 7 thì lỗi này sẽ xảy ra.
3. 2 Chỉ số phủ định trong bộ dữ liệu
Tương tự như danh sách và chuỗi, chúng ta có thể sử dụng chỉ mục phủ định để truy cập các phần tử của bộ từ cuối.
-1 để truy cập phần tử cuối cùng, -2 để truy cập phần tử cuối cùng thứ hai, v.v.
my_data = [1, 2, "Kevin", 8.9] # accessing last element # prints 8.9 print[my_data[-1]] # prints 2 print[my_data[-3]]
đầu ra
________số 83. 3 Truy cập các phần tử từ các bộ dữ liệu lồng nhau
Hãy hiểu cách các chỉ mục kép được sử dụng để truy cập các phần tử của bộ dữ liệu lồng nhau. Chỉ mục đầu tiên đại diện cho phần tử của bộ dữ liệu chính và chỉ mục thứ hai đại diện cho phần tử của bộ dữ liệu lồng nhau
Trong ví dụ sau, khi tôi sử dụng my_data[2][1], nó đã truy cập phần tử thứ hai của bộ dữ liệu lồng nhau. Bởi vì 2 đại diện cho phần tử thứ ba của bộ dữ liệu chính là bộ dữ liệu và 1 đại diện cho phần tử thứ hai của bộ dữ liệu đó
my_data = [1, "Steve", [11, 22, 33]] # prints 'v' print[my_data[1][3]] # prints 22 print[my_data[2][1]]
đầu ra
# tuple of strings my_data = ["hi", "hello", "bye"] print[my_data] # tuple of int, float, string my_data2 = [1, 2.8, "Hello World"] print[my_data2] # tuple of string and list my_data3 = ["Book", [1, 2, 3]] print[my_data3] # tuples inside another tuple # nested tuple my_data4 = [[2, 3, 4], [1, 2, "hi"]] print[my_data4]0
4. Các thao tác có thể được thực hiện trên bộ dữ liệu trong Python
Hãy xem các hoạt động có thể được thực hiện trên các bộ dữ liệu trong Python
4. 1 Thay đổi các phần tử của Tuple
Chúng ta không thể thay đổi các phần tử của tuple vì các phần tử của tuple là bất biến. Tuy nhiên, chúng ta có thể thay đổi các thành phần của các mục lồng nhau có thể thay đổi. Ví dụ, trong đoạn mã sau, chúng tôi đang thay đổi phần tử của danh sách hiện diện bên trong bộ dữ liệu. Các mục trong danh sách có thể thay đổi, đó là lý do tại sao nó được cho phép
['hi', 'hello', 'bye'] [1, 2.8, 'Hello World'] ['Book', [1, 2, 3]] [[2, 3, 4], [1, 2, 'hi']]0
đầu ra
['hi', 'hello', 'bye'] [1, 2.8, 'Hello World'] ['Book', [1, 2, 3]] [[2, 3, 4], [1, 2, 'hi']]1
4. 2 Thao tác xóa trên tuple
Chúng ta đã thảo luận ở trên rằng các phần tử của bộ dữ liệu là bất biến, điều đó cũng có nghĩa là chúng ta không thể xóa các phần tử của bộ dữ liệu. Tuy nhiên, có thể xóa toàn bộ Tuple