Một danh sách có thể có một tuple trong python không?

Một tuple là một tập hợp các đối tượng có thứ tự và không thay đổi. Tuples là trình tự, giống như danh sách. Sự khác biệt giữa bộ dữ liệu và danh sách là, bộ dữ liệu không thể thay đổi không giống như danh sách và bộ dữ liệu sử dụng dấu ngoặc đơn, trong khi danh sách sử dụng dấu ngoặc vuông

Tạo một bộ dữ liệu đơn giản như đặt các giá trị được phân tách bằng dấu phẩy khác nhau. Theo tùy chọn, bạn cũng có thể đặt các giá trị được phân tách bằng dấu phẩy này giữa các dấu ngoặc đơn. Ví dụ -

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5 ];
tup3 = "a", "b", "c", "d";

Tuple trống được viết dưới dạng hai dấu ngoặc đơn không chứa gì -

tup1 = [];

Để viết một bộ chứa một giá trị duy nhất, bạn phải bao gồm dấu phẩy, mặc dù chỉ có một giá trị -

tup1 = [50,];

Giống như chỉ mục chuỗi, chỉ mục bộ bắt đầu từ 0 và chúng có thể được cắt, nối, v.v.

Truy cập các giá trị trong Tuples

Để truy cập các giá trị trong bộ, hãy sử dụng dấu ngoặc vuông để cắt cùng với chỉ mục hoặc các chỉ mục để lấy giá trị có sẵn tại chỉ mục đó. Ví dụ -

Bản trình diễn trực tiếp
#!/usr/bin/python

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5, 6, 7 ];
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

Cập nhật Tuples

Các bộ dữ liệu là bất biến, điều đó có nghĩa là bạn không thể cập nhật hoặc thay đổi giá trị của các phần tử bộ dữ liệu. Bạn có thể lấy các phần của các bộ dữ liệu hiện có để tạo các bộ dữ liệu mới như ví dụ sau minh họa -

Bản trình diễn trực tiếp
#!/usr/bin/python

tup1 = [12, 34.56];
tup2 = ['abc', 'xyz'];

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

[12, 34.56, 'abc', 'xyz']

Xóa phần tử Tuple

Không thể loại bỏ các phần tử tuple riêng lẻ. Tất nhiên, không có gì sai khi kết hợp một bộ dữ liệu khác với các phần tử không mong muốn bị loại bỏ

Để loại bỏ rõ ràng toàn bộ bộ dữ liệu, chỉ cần sử dụng câu lệnh del. Ví dụ -

Bản trình diễn trực tiếp
#!/usr/bin/python

tup = ['physics', 'chemistry', 1997, 2000];
print tup;
del tup;
print "After deleting tup : ";
print tup;

Điều này tạo ra kết quả sau. Lưu ý một ngoại lệ được nêu ra, điều này là do sau khi del tup tuple không còn tồn tại nữa -

________số 8

Hoạt động Tuples cơ bản

Các bộ dữ liệu phản hồi các toán tử + và * giống như các chuỗi;

Trên thực tế, các bộ đáp ứng với tất cả các thao tác trình tự chung mà chúng ta đã sử dụng trên các chuỗi trong chương trước -

Python ExpressionResultsDescriptionlen[[1, 2, 3]]3Length[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]Concatenation['Xin chào. ',] * 4['Xin chào. ', 'Xin chào. ', 'Xin chào. ', 'Xin chào. ']Lặp lại3 trong [1, 2, 3]TrueMembershipcho x trong [1, 2, 3]. in x,1 2 3Lặp lại

Lập chỉ mục, cắt lát và ma trận

Bởi vì các bộ dữ liệu là các chuỗi, nên việc lập chỉ mục và cắt lớp hoạt động theo cùng một cách đối với các bộ dữ liệu cũng như đối với các chuỗi. Giả sử đầu vào sau -

L = ['spam', 'Spam', 'SPAM!']
Biểu thức PythonKết quảMô tảL[2]'SPAM. 'Phần bù bắt đầu từ 0L[-2]'Spam'Negative. đếm từ bên phảiL[1. ]['Thư rác', 'THƯ RÁC. ']Slicing tìm nạp các phần

Không có dấu phân cách kèm theo

Bất kỳ tập hợp nhiều đối tượng nào, được phân tách bằng dấu phẩy, được viết mà không có ký hiệu xác định, tôi. e. , dấu ngoặc đơn cho danh sách, dấu ngoặc đơn cho bộ dữ liệu, v.v. , mặc định là bộ dữ liệu, như được chỉ ra trong các ví dụ ngắn này -

Danh sách và Bộ dữ liệu lưu trữ một hoặc nhiều đối tượng hoặc giá trị theo một thứ tự cụ thể. Các đối tượng được lưu trữ trong danh sách hoặc bộ có thể thuộc bất kỳ loại nào kể cả loại không có gì được xác định bởi Từ khóa Không

Danh sách và Bộ dữ liệu tương tự nhau trong hầu hết các ngữ cảnh nhưng có một số khác biệt mà chúng ta sẽ tìm thấy trong bài viết này

Sự khác biệt về cú pháp

Cú pháp của list và tuple hơi khác nhau. Danh sách được bao quanh bởi dấu ngoặc vuông

tup1 = [];
06 và Tuples được bao quanh bởi dấu ngoặc đơn
tup1 = [];
07

ví dụ 1. 1. Tạo danh sách vs. Tạo Tuple

tup1 = [];
2

đầu ra

tup1 = [];
0

Ở trên, chúng tôi đã xác định một biến có tên list_num chứa danh sách các số từ

tup1 = [];
08 đến
tup1 = [];
09. Danh sách được bao quanh bởi dấu ngoặc _______106. Ngoài ra, chúng ta đã định nghĩa một biến tup_num; . Tuple được bao quanh bởi dấu ngoặc đơn
tup1 = [];
07

Trong python, chúng ta có hàm

tup1 = [50,];
04 cung cấp loại đối tượng được tạo

ví dụ 1. 2. Tìm loại cấu trúc dữ liệu bằng hàm type[]

tup1 = [50,];
0

đầu ra

tup1 = [50,];
2

Danh sách có thể thay đổi so với Bộ dữ liệu không thể thay đổi

Danh sách có tính chất thay đổi i. e. , danh sách có thể được thay đổi hoặc sửa đổi sau khi tạo theo nhu cầu trong khi tuple có bản chất bất biến i. e. , tuple không thể thay đổi hoặc sửa đổi sau khi tạo

ví dụ 2. 1. Sửa đổi một mục Danh sách so với. Tuple

tup1 = [50,];
3

đầu ra

tup1 = [50,];
4

Trong đoạn mã trên, chúng tôi đã gán

tup1 = [50,];
05 cho list_num tại chỉ mục
tup1 = [50,];
06 và chúng tôi tìm thấy
tup1 = [50,];
05 tại chỉ mục
tup1 = [50,];
06 trong đầu ra. Ngoài ra, chúng tôi đã gán
tup1 = [50,];
05 cho tup_num tại chỉ mục
tup1 = [50,];
06 và chúng tôi nhận được
tup1 = [50,];
21. Chúng tôi không thể sửa đổi tuple do tính chất bất biến của nó

Ghi chú. Vì bộ dữ liệu là bất biến, chúng có kích thước cố định và danh sách có kích thước thay đổi

Hoạt động có sẵn

Danh sách có nhiều chức năng dựng sẵn hơn so với tuple. Chúng ta có thể sử dụng hàm có sẵn 

tup1 = [50,];
22 để lấy tất cả các hàm liên quan cho danh sách và bộ

ví dụ 3. 1. danh sách thư mục

#!/usr/bin/python

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5, 6, 7 ];
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
3

đầu ra

#!/usr/bin/python

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5, 6, 7 ];
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
4

ví dụ 3. 2. Thư mục Tuple

#!/usr/bin/python

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5, 6, 7 ];
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
5

đầu ra

#!/usr/bin/python

tup1 = ['physics', 'chemistry', 1997, 2000];
tup2 = [1, 2, 3, 4, 5, 6, 7 ];
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
6

Chúng ta có thể thấy rõ rằng, có rất nhiều chức năng bổ sung được liên kết với một danh sách trên một bộ. Chúng ta có thể thực hiện thao tác chèn và bật, xóa và sắp xếp các phần tử trong danh sách bằng các hàm có sẵn mà Tuple không có

So sánh kích thước

Hoạt động của bộ dữ liệu có kích thước nhỏ hơn so với danh sách, điều này làm cho nó nhanh hơn một chút nhưng không có gì nhiều để đề cập cho đến khi bạn có một số lượng lớn các phần tử

Ví dụ 5. 1. Tính kích thước của Danh sách so với. Tuple

tup1 = [];
00

đầu ra

tup1 = [];
01

Trong đoạn mã trên, chúng tôi có bộ dữ liệu a và danh sách b có cùng các mục nhưng kích thước của bộ dữ liệu nhỏ hơn danh sách

Các trường hợp sử dụng khác nhau

Thoạt nhìn, có vẻ như danh sách luôn có thể thay thế bộ. Nhưng bộ dữ liệu là cấu trúc dữ liệu cực kỳ hữu ích

  1. Việc sử dụng một bộ thay vì một danh sách có thể cung cấp cho người lập trình và trình thông dịch một gợi ý rằng dữ liệu không nên bị thay đổi.
     
  2. Bộ dữ liệu thường được sử dụng tương đương với từ điển không có khóa để lưu trữ dữ liệu. Ví dụ,
    tup1 = [];
    
    02Ví dụ trên chứa các bộ dữ liệu bên trong danh sách có danh sách phim.
     
  3. Đọc dữ liệu đơn giản hơn khi các bộ dữ liệu được lưu trữ bên trong danh sách. Ví dụ,
    tup1 = [];
    
    03 dễ đọc hơn
    tup1 = [];
    
    04

Tuple cũng có thể được sử dụng làm khóa trong từ điển do tính chất có thể băm và không thay đổi của chúng trong khi Danh sách không được sử dụng làm khóa trong từ điển vì danh sách không thể xử lý

tup1 = [50,];
23 và có tính chất có thể thay đổi

Một danh sách có thể là một tuple?

Sử dụng hàm có sẵn tuple[] . Nếu bạn muốn chuyển đổi danh sách Python thành bộ, bạn có thể sử dụng hàm tuple[] để chuyển toàn bộ danh sách làm đối số và nó sẽ trả về kiểu dữ liệu bộ dưới dạng đầu ra< . .

Danh sách có thể chứa một bộ như một phần tử không?

Mặc dù các bộ dữ liệu là bất biến, nhưng chúng có thể chứa các phần tử có thể thay đổi như danh sách hoặc tập hợp .

Chúng ta có thể thêm bộ dữ liệu và danh sách trong Python không?

Bộ phải được chuyển thành danh sách và danh sách phải được thêm vào , cuối cùng kết quả được chuyển thành bộ.

Chủ Đề