Tuple trong python geeksforgeek

Một tuple là một bộ sưu tập các mục được sắp xếp theo thứ tự. Bộ sưu tập có thứ tự giữ các mục theo thứ tự bạn chèn hoặc khởi tạo chúng. Nói cách khác, thứ tự được bảo toàn. Điều này trái ngược với từ điển hoặc bộ, trong đó thứ tự không được bảo toàn (bộ sưu tập không có thứ tự)

Bộ dữ liệu giống như danh sách nhưng khác nhau ở các khía cạnh sau. Chúng là bất biến, (chúng ta không thể thay đổi chúng) không giống như danh sách có thể thay đổi (chúng ta có thể thay đổi chúng). Hãy để chúng tôi tìm hiểu thêm về bộ dữ liệu và các phương thức liên quan của chúng. Chúng ta cũng sẽ học cách sử dụng chúng hiệu quả trong Python

Để biết thêm thông tin cơ bản về các cấu trúc dữ liệu khác nhau trong Python, hãy xem các bài viết sau

  • Giới thiệu về cấu trúc dữ liệu
  • Danh sách
  • Cây rơm
  • Xếp hàng
  • Danh sách liên kết
  • cây nhị phân
  • đống
  • đồ thị

Ghi chú. Điều kiện tiên quyết – Đảm bảo bạn có kiến ​​thức Python cơ bản trước khi đi sâu vào bài viết này. Bạn cũng nên kiểm tra một số cấu trúc dữ liệu tuyến tính. (liên kết được đưa ra ở trên)

Mục lục

bộ dữ liệu. Hãy viết mã

Như chúng ta đã thảo luận, một Tuple là một tập hợp các mục không thay đổi. Hãy bắt đầu bằng cách tạo một tuple

Tạo Tuple

Một tuple có thể được tạo theo nhiều cách. Cách đơn giản nhất để tạo một bộ dữ liệu là đặt một biến thành một cặp dấu ngoặc rỗng

# Set the tuple1 variable to an empty tuple
tuple1 = ()

# Check if the tuple is initialized properly
print(type(tuple1))

# Output : <class 'tuple'>

Đoạn mã trên cho kết quả là

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
9, cho biết rằng bộ dữ liệu đã được tạo thành công. Chúng ta cũng có thể tạo một tuple bằng cách sử dụng phương thức
# tuple3 consists of values 40, 50, 60
tuple3 = (40, 50, 60)

# tuples can also consist of different datatypes
tuple4 = (45, "55", "Hello World", True, 42.6)

# we can also create a tuple of lists
tuple5 = ([10, 20], [30, 40], [50, 60])
0 có sẵn trong Python

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>

Trong khi khởi tạo một tuple, chúng ta cũng có thể chỉ định dữ liệu nào tồn tại bên trong nó

# tuple3 consists of values 40, 50, 60
tuple3 = (40, 50, 60)

# tuples can also consist of different datatypes
tuple4 = (45, "55", "Hello World", True, 42.6)

# we can also create a tuple of lists
tuple5 = ([10, 20], [30, 40], [50, 60])

Truy cập các mục trong Tuple

Tuples theo zero indexing. Trong lập chỉ mục bằng không, phần tử đầu tiên của bộ dữ liệu có chỉ mục '0', phần tử thứ hai của bộ dữ liệu có chỉ mục '1', v.v.

Lập chỉ mục tích cực

Ví dụ: hãy tạo một Tuple,

# tuple3 consists of values 40, 50, 60
tuple3 = (40, 50, 60)

# tuples can also consist of different datatypes
tuple4 = (45, "55", "Hello World", True, 42.6)

# we can also create a tuple of lists
tuple5 = ([10, 20], [30, 40], [50, 60])
1. Các phần tử Tuple có thể được truy cập giống như một phần tử danh sách

tuple1 = (0, 1, 2, 3)

print(tuple1[0]) # Output: 0

print(tuple1[1]) # Output: 1

Bộ dữ liệu này tuân theo chỉ mục không

Lập chỉ mục tích cực Tuple. Nguồn - GeekforGeek

Lập chỉ mục tiêu cực

Tương tự như danh sách, chúng ta cũng có thể sử dụng lập chỉ mục phủ định trên một bộ. Do đó, '-1' đề cập đến phần tử thứ N của một bộ, -2 đề cập đến phần tử thứ (N-1), v.v. (trong đó N là độ dài của bộ)

tuple1 = (30, 40, 50, 60)

print(tuple1[-1]) # Output: 60

print(tuple1[-3]) # Output: 40

Lập chỉ mục phủ định Tuple

cắt lát

Trong Python, cắt lát được sử dụng để trả về một loạt các giá trị. Giống như danh sách, bộ dữ liệu cũng có thể được cắt

________số 8_______

Theo các ví dụ được hiển thị ở trên, nếu chúng ta cắt một phạm vi [a. b), nó sẽ trả về từ chỉ mục tuple a đến chỉ mục tuple (b - 1). Để biết thêm các thủ thuật về cắt lát Python, hãy xem trang này

Sửa đổi Tuples

Tuples là bất biến

Ví dụ

tuple1 = (2000, 3000, 4000)

tuple1[1] = 1000

Nếu chúng ta thực thi đoạn mã trên, trình thông dịch Python sẽ đưa ra lỗi sau

Traceback (most recent call last):
    File "main.py", line 3 in <module>
        tuple1[1] = 1000
TypeError: 'tuple' object does not support item assignment

Điều này là do một tuple được thiết kế để không thay đổi. Tuy nhiên, chúng ta có thể thay đổi một bộ chứa các đối tượng có thể thay đổi

Ví dụ: chúng ta hãy lấy một bộ danh sách

tuple1 = ([10, 20], [30, 40], [50, 60])

tuple1[1][0] = 70

print(tuple1) # Output: ([10, 20], [70, 40], [50, 60])

Điều này hoạt động hoàn hảo vì chúng tôi đang sửa đổi danh sách trong một bộ dữ liệu (có thể thay đổi). Chúng ta cũng có thể tạo các bộ dữ liệu mới từ những bộ dữ liệu hiện có

tuple1 = ([10, 20], [30, 40], [50, 60])
tuple2 = ([100, 200], [300, 400])

# Creating a new tuple from tuple1 and tuple2
tuple3 = tuple1 + tuple2

print(tuple3) # Output: ([10, 20], [30, 40], [50, 60], [100, 200], [300, 400])

Phương pháp Tuple

Các bộ dữ liệu có các phương thức tích hợp sau đây khiến chúng cực kỳ mạnh mẽ

  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    2
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    3
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    4
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    5
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    6
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    7
  • # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    8
cmp(tuple1, tuple2)

Ghi chú. Phương thức cmp() tồn tại trong python2. Nó không được bao gồm trong python3. Do đó, chúng tôi xác định phương pháp so sánh của riêng mình

Phương thức so sánh phân tích hai bộ dữ liệu theo từng phần tử

Nó so sánh chúng và trả về như sau

  • Nếu tuple1 > tuple2. phương thức trả về 1
  • Nếu tuple2 > tuple1. phương thức trả về -1
  • Nếu tuple1 == tuple2. phương thức trả về 0

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
0

len(tuple)

Phương thức length trả về độ dài của tuple

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
1

tối thiểu (bộ)

Phương thức min trả về phần tử nhỏ nhất trong tuple

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
2

tối đa (bộ)

Phương thức max trả về phần tử lớn nhất trong tuple

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
3

bộ (danh sách)

Phương thức tuple chuyển đổi danh sách được truyền dưới dạng tham số thành một tuple

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
4

t. đếm (el)

Phương thức đếm trả về số lượng của phần tử được truyền dưới dạng tham số

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
5

t. chỉ số (el)

Phương thức index trả về chỉ mục của lần xuất hiện đầu tiên của phần tử trong một tuple

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
6

Bạn cũng có thể trả về chỉ mục của lần xuất hiện cuối cùng của phần tử bằng cách sử dụng phương thức này

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
7

Nó cũng có thể chỉ định một phạm vi để tìm kiếm

# Set the tuple2 variable to an empty tuple by using the tuple() method
tuple2 = tuple()

# Check if the tuple is initialized properly
print(type(tuple2))

# Output : <class 'tuple'>
8

Các ứng dụng của Tuple

  • Bộ dữ liệu đặc biệt được sử dụng để bảo vệ chống sửa đổi. Vì chúng là bất biến, chúng ta có thể sử dụng các bộ dữ liệu để bảo vệ dữ liệu ghi

  • Khi lặp qua một bộ, hiệu suất tăng đáng kể được quan sát thấy khi chúng ta so sánh nó với các danh sách. Điều này thể hiện rõ hơn khi kích thước của bộ dữ liệu lớn. Sử dụng mô-đun

    # tuple3 consists of values 40, 50, 60
    tuple3 = (40, 50, 60)
    
    # tuples can also consist of different datatypes
    tuple4 = (45, "55", "Hello World", True, 42.6)
    
    # we can also create a tuple of lists
    tuple5 = ([10, 20], [30, 40], [50, 60])
    
    9 trong Python, chúng tôi thấy rằng các bộ dữ liệu được lặp lại nhanh hơn đáng kể khi so sánh với các danh sách

Ghi chú. Để phân tích sâu hơn về lý do tại sao các bộ dữ liệu hoạt động tốt hơn, hãy xem chủ đề StackOverflow

  • Cấu trúc dữ liệu từ điển có khóa bất biến. Do đó, các bộ dữ liệu có thể được sử dụng làm khóa trong từ điển

  • Bộ dữ liệu có thể được sử dụng để nhóm dữ liệu liên quan. Ví dụ: một hàng trong bảng cơ sở dữ liệu có thể được nhóm lại với nhau và được lưu trữ trong một bộ

Đọc thêm

Chúng tôi đã xem xét cấu trúc dữ liệu bộ, cách triển khai và phương thức của nó. Để hiểu rõ hơn về các bộ dữ liệu, hãy xem các tài nguyên này. Bạn có thể tìm hiểu thêm về các bộ trong Python official

Bộ dữ liệu trong Python là gì?

Các bộ được dùng để lưu trữ nhiều mục trong một biến . Tuple là một trong 4 loại dữ liệu tích hợp trong Python được sử dụng để lưu trữ các bộ sưu tập dữ liệu, 3 loại còn lại là Danh sách, Tập hợp và Từ điển, tất cả đều có chất lượng và cách sử dụng khác nhau. Một bộ là một bộ sưu tập được sắp xếp theo thứ tự và không thể thay đổi.

Tuple trong Python Geekforgeek là gì?

Python Tuple là tập hợp các đối tượng được phân tách bằng dấu phẩy . Theo một số cách, một bộ tương tự như một danh sách về lập chỉ mục, các đối tượng lồng nhau và lặp lại nhưng một bộ là bất biến, không giống như các danh sách có thể thay đổi.

Ví dụ về bộ dữ liệu Python là gì?

Một bộ là một đối tượng bất biến, có nghĩa là nó không thể thay đổi được và chúng ta sử dụng nó để biểu diễn các tập hợp mục cố định. Chúng ta hãy xem một số ví dụ về bộ dữ liệu Python. () — một bộ trống . (1. 0, 9. 9, 10) — một bộ chứa ba đối tượng số .

Sự khác biệt giữa danh sách và tuple là gì?

Sự khác biệt chính giữa bộ dữ liệu và danh sách là bộ dữ liệu là bất biến, trái ngược với danh sách có thể thay đổi . Do đó, có thể thay đổi một danh sách nhưng không thể thay đổi một bộ. Nội dung của một bộ dữ liệu không thể thay đổi sau khi chúng được tạo bằng Python do tính bất biến của bộ dữ liệu.

Làm cách nào để sử dụng một tuple trong Python?

Một bộ được tạo bằng cách đặt tất cả các mục (phần tử) bên trong dấu ngoặc đơn () , được phân tách bằng dấu phẩy . Các dấu ngoặc đơn là tùy chọn, tuy nhiên, nên sử dụng chúng. Một bộ có thể có bất kỳ số lượng phần tử nào và chúng có thể thuộc các loại khác nhau (số nguyên, số thực, danh sách, chuỗi, v.v. ).

Tại sao lại sử dụng tuple thay vì danh sách?

Bộ dữ liệu hiệu quả hơn về bộ nhớ so với danh sách . Khi nói đến hiệu quả về thời gian, bộ dữ liệu có lợi thế hơn một chút so với danh sách, đặc biệt khi chúng tôi xem xét giá trị tra cứu. Nếu bạn có dữ liệu không nên thay đổi, bạn nên chọn loại dữ liệu tuple trên danh sách.