Danh sách (list) bằng Python. Liệt kê các chức năng và phương pháp

Trong lập trình, danh sách có lẽ là một cấu trúc dữ liệu hữu ích như mảng. Danh sách là gì, cách tạo chúng như thế nào? Làm thế nào để làm việc với danh sách trong Python? Bạn sẽ tìm hiểu về điều này từ bài viết của chúng tôi.

Danh sách trong Python là gì?

Danh sách (list) bằng Python. Liệt kê các chức năng và phương pháp
Các kiểu dữ liệu Python: Danh sách

Danh sách có thể được xác định một phần bằng mảng, nhưng sự khác biệt và lợi thế của danh sách (nếu không chúng còn được gọi là danh sách) là chúng có thể kết hợp các kiểu dữ liệu khác nhau. Nghĩa là, danh sách mở ra nhiều khả năng hơn để lưu trữ bất kỳ chuỗi đối tượng nào. Một biến, được gọi là danh sách, chứa tham chiếu đến cấu trúc trong bộ nhớ chứa tham chiếu đến cấu trúc thay thế.

Danh sách trong Python là một tập hợp có thứ tự các đối tượng thuộc các kiểu hỗn hợp có thể được sửa đổi và các đối tượng của chúng có thể khác nhau.

Nó có nghĩa là gì? Chúng ta hãy xem xét định nghĩa một cách chi tiết.

Kích thước của danh sách có thể được thay đổi, giảm bớt, thêm các dòng mới vào đó. Bạn cũng có thể thay đổi toàn bộ cấu trúc của danh sách. Hãy nhớ rằng mỗi khi một phương thức trong danh sách được sử dụng, danh sách gốc sẽ được thay đổi chứ không phải bản sao.

Để rõ ràng hơn, bạn có thể coi danh sách bằng Python là danh sách các sản phẩm cần mua trong cửa hàng. Nếu, khi lập kế hoạch mua sắm, tất cả các mặt hàng cần thiết nằm bên dưới mặt hàng kia và mỗi mặt hàng đều có dòng riêng, thì danh sách trong Python chứa tất cả các phần tử được phân tách bằng dấu phẩy và trong dấu ngoặc vuông để Python có thể hiểu rằng một danh sách được chỉ ra ở đây. Các phần tử được đặt trong dấu ngoặc kép. Đây là điều kiện bắt buộc, vì mỗi phần tử là một dòng riêng biệt.

Các cách tạo danh sách

Chuyển sang ví dụ cổ điển, hãy tạo một danh sách mà chúng tôi sẽ sử dụng và sửa đổi trong tương lai. Có một số cách để tạo danh sách.

Một trong số đó là ứng dụng danh sách hàm tích hợp (). Để làm điều này, bạn cần xử lý bất kỳ đối tượng nào có thể được lặp lại (một chuỗi, một bộ hoặc một danh sách hiện có). Trong trường hợp này, một chuỗi.

Đây là những gì xảy ra cuối cùng:

>>> list ('list') ['c', 'n', 'i', 'c', 'o', 'to']

Ví dụ thứ hai cho thấy rằng danh sách có thể chứa một số lượng không giới hạn các đối tượng rất khác nhau. Ngoài ra, danh sách có thể vẫn trống.

>>> s = [] # Danh sách trống >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Cách tiếp theo, thứ ba, để hình thành danh sách là cái gọi là trình tạo danh sách.

Trình tạo danh sách là một cấu trúc cú pháp để tạo danh sách. Nó tương tự như vòng lặp for.

>>> c = [c * 3 for c in 'list'] >>> c ['lll', 'iii', 'sss', 'ttt']

Nó cũng có thể được sử dụng để tạo ra nhiều cấu trúc đồ sộ hơn:

>>> c = [c * 3 for c in 'list' if c! = 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d for c trong 'list' if c! = 'i' for d in 'spam' if d! = 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Tuy nhiên, phương pháp tạo này không phải lúc nào cũng hiệu quả khi biên dịch nhiều danh sách. Do đó, bạn nên sử dụng vòng lặp for để tạo danh sách.

Nếu bạn cần tham chiếu đến bất kỳ phần tử nào từ danh sách, thì các chỉ mục sẽ được sử dụng. Mỗi phần tử có chỉ mục riêng của nó.

Chỉ mục là số của phần tử trong danh sách.

Nếu bạn muốn điền vào danh sách các phần tử lặp lại, giống hệt nhau, ký hiệu * được sử dụng. Ví dụ: bạn cần thêm ba số giống nhau vào danh sách: [100] * 3.

Liệt kê các chức năng

chức năng - đây có lẽ là ưu điểm chính của Python so với các ngôn ngữ lập trình khác. Các chức năng tích hợp cơ bản có thể được áp dụng cho danh sách.

Hãy xem xét phổ biến nhất trong số họ:

  • danh sách (phạm vi ()) - nếu nhiệm vụ là tạo một danh sách tuần tự, thì hàm phạm vi được sử dụng. Hàm này có các dạng sau:
  1. phạm vi (kết thúc). Nó được sử dụng khi cần tạo một danh sách từ XNUMX đến một số hữu hạn.
  2. phạm vi (bắt đầu, kết thúc). Cả số bắt đầu và số kết thúc đều được chỉ định.
  3. phạm vi (bắt đầu, kết thúc, bước). Tham số bước xác định đặc tính lựa chọn. Ví dụ: nếu bạn cần chọn mọi số thứ năm từ dãy số từ 1 đến 21, thì danh sách kết quả sẽ có dạng: [10,15, 20].

Hàm phạm vi có thể giảm đáng kể số lượng mã.

  • lanh (danh sách) - cho phép bạn tìm ra có bao nhiêu phần tử trong danh sách.
  • đã sắp xếp (danh sách, [khóa]) - Sắp xếp các đối tượng trong danh sách theo thứ tự tăng dần.
  • max (danh sách) - trả về phần tử lớn nhất.
  • tối thiểu (danh sách) - chức năng ngược lại - cho phép bạn trả về phần tử có giá trị nhỏ nhất.

Bạn cũng có thể sử dụng các chức năng cài sẵn khác:

  • danh sách (tuple) - Chuyển đổi một đối tượng tuple thành một danh sách.
  • sum (danh sách) - tính tổng tất cả các phần tử trong danh sách nếu tất cả các giá trị là số, áp dụng cho cả số nguyên và số thập phân. Tuy nhiên, không phải lúc nào cô ấy cũng làm đúng. Nếu có một phần tử không phải là số trong danh sách, hàm sẽ thông báo lỗi: “TypeError: (các) loại toán hạng không được hỗ trợ cho +: 'int' và 'str'”.

Phương pháp liệt kê

Danh sách (list) bằng Python. Liệt kê các chức năng và phương pháp
Danh sách các phương thức Python

Hãy quay lại danh sách các mặt hàng cần mua trong cửa hàng và gọi nó là danh sách cửa hàng:

danh sách cửa hàng = []

Tiếp theo, hãy xem xét các phương pháp liệt kê:

  • chắp thêm (mục) - với sự trợ giúp của nó, bạn có thể thêm một phần tử vào danh sách. Trong trường hợp này, phần tử mới sẽ ở cuối.

Hãy điền vào danh sách mới của chúng tôi với các sản phẩm phù hợp:

shoplist.append (bánh mì)

shoplist.append (sữa)

  • danh sách.gia hạn(A) - thêm "danh sách vào danh sách". Tính năng này giúp tiết kiệm thời gian vì bạn có thể thêm nhiều mục cùng lúc. Giả sử chúng ta đã có một danh sách các loại trái cây, chúng ta cần thêm chúng vào danh sách chính.

shoplist.extend (trái cây)

  • insert (index, item) - chèn vào phần tử có chỉ mục xác định giá trị được chỉ định trước chỉ mục được chỉ định.
  • lcount (item) - hiển thị số lần lặp lại của phần tử.
  • danh sách.gỡ bỏ(mục) là chức năng ngược lại danh sách.nối thêm (x). Nó có thể được sử dụng để loại bỏ bất kỳ phần tử nào. Nếu mục đã chọn không có trong danh sách, một lỗi sẽ được thông báo.
  • pop ([chỉ mục]) - loại bỏ phần tử đã chọn và trả lại phần tử đó theo cách tương tự. Nếu phần tử không được chỉ định, thì phần tử cuối cùng sẽ bị xóa khỏi danh sách.
  • sắp xếp ([key]) - đặt các phần tử trong danh sách theo thứ tự tăng dần, nhưng bạn cũng có thể chỉ định một hàm.
  • chỉ mục (mục) - hiển thị chỉ số của phần tử được chọn đầu tiên.
  • Bạn có thể mở rộng danh sách, nghĩa là, phản chiếu tất cả các phần tử của nó, bằng cách sử dụng phương pháp đảo ngược (danh sách). Phần tử cuối cùng trở thành phần tử đầu tiên, phần tử áp chót trở thành phần tử thứ hai, v.v.
  • Một bản sao của danh sách được tạo bằng lệnh sao chép (danh sách).
  • deepcopy (danh sách) - sao chép sâu.
  • Loại bỏ tất cả các phần tử danh sách bằng phương pháp này danh sách rõ ràng).

Điều đáng chú ý là phương thức liệt kê khác với phương thức chuỗi ở chỗ chúng thay đổi danh sách ngay lập tức, tức là không cần trả về kết quả thực hiện.

>>> l = [1, 2, 3, 5, 7] >>> l.sort () >>> l [1, 2, 3, 5, 7] >>> l = l.sort ()> >> print (l) Không có

Sau đây là một ví dụ về cách làm việc với danh sách:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> print (a.count (333), a.count (66.25), a.count ('x')) 2 1 0 >>> a.insert (2, -1) >>> a.append (333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index (333) 1 >> > a.remove (333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse () >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort () >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Bình luận