Tin tức và phân tích của tất cả các thiết bị di động

11 phương thức liệt kê bạn cần biết trong Python

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng các phương thức danh sách của Python để thêm các mục vào, sửa đổi và xóa các mục khỏi danh sách Python.

Khi bạn bắt đầu lập trình bằng Python, danh sách là một trong những cấu trúc dữ liệu tích hợp đầu tiên mà bạn sẽ tìm hiểu. Trong vài phút tiếp theo, chúng ta sẽ xem xét các khái niệm cơ bản về danh sách trong Python, sau đó thảo luận về một số phương pháp danh sách hữu ích mà bạn có thể sử dụng khi làm việc với danh sách.

Hãy bắt đầu!

Tổng quan về danh sách Python

Trong Python, danh sách là tập hợp các mục có kiểu dữ liệu giống nhau hoặc khác nhau. Bạn có thể lặp qua bộ sưu tập để truy cập các mục bằng cách sử dụng cấu trúc vòng lặp, chẳng hạn như vòng lặp for.

Giống như tất cả các lần lặp trong Python, danh sách không lập chỉ mục và hỗ trợ cắt.

Đây là những bộ sưu tập có thể thay đổi nên bạn có thể sửa đổi chúng tại chỗ. Điều này bao gồm thêm và xóa các mục khỏi danh sách, sắp xếp các mục theo một thứ tự cụ thể, đảo ngược thứ tự của các mục và hơn thế nữa. Các phương thức danh sách có sẵn của Python giúp bạn thực hiện việc này.

Tiếp theo, hãy xem một số phương thức danh sách Python hữu ích.

Các phương thức danh sách tích hợp trong Python

Trong phần này, chúng ta sẽ tìm hiểu một số phương pháp hữu ích để tạo danh sách. Chúng ta sẽ viết mã các ví dụ để xem các phương thức danh sách này hoạt động như thế nào.

Chúng tôi sẽ sử dụng danh sách pgm_langs sau đây. Đây là danh sách các chuỗi chứa tên của các ngôn ngữ lập trình phổ biến.

pgm_langs = ['Python','Go','Rust','JavaScript']

Chèn các mục danh sách bằng Insert()

Bạn có thể muốn chèn một mục vào một chỉ mục cụ thể. Bạn có thể sử dụng phương thức Insert() để thực hiện việc này. Gọi phương thức danh sách Insert() bao gồm:

  • Chỉ mục mà mục đó sẽ được chèn vào và
  • Mục cần chèn.

Hãy đặt “Scala” vào chỉ mục 1sử dụng phương thức index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Thêm một mục vào danh sách bằng cách thêm()

Đôi khi có thể cần thêm một mục vào cuối danh sách. Bạn có thể sử dụng phương thứcappend() để thực hiện việc này.

Hãy thêm chuỗi “java” vào cuối danh sách bằng phương thứcappend().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Thêm một lần lặp bằng cách sử dụng Extend()

Bạn biết rằng bạn có thể sử dụng phương thứcappend() để thêm một mục. Nhưng nếu bạn muốn thêm nhiều mục vào danh sách hiện có, chẳng hạn như danh sách các mục thì sao? Phương thức Extend() cung cấp cú pháp ngắn gọn để thực hiện việc này.

Hãy thêm các phần tử của danh sách more_langs vào danh sách pgm_langs bằng phương thức Extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

Bạn có thể lặp qua danh sách các mục và sử dụng phương thứcappend() để thêm từng mục một. Tuy nhiên, nó rất chi tiết. Thay vào đó, sẽ thuận tiện hơn khi sử dụng phương thức Extend().

for lang in more_langs:
    pgm_langs.append(lang)

Đảo ngược danh sách bằng hàm Reverse()

Để đảo ngược thứ tự các mục trong danh sách, bạn có thể gọi phương thức Reverse().

Chúng tôi thấy rằng danh sách pgm_langs đã bị đảo ngược.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Sắp xếp danh sách bằng Sort()

Bạn có thể sắp xếp danh sách python tại chỗ bằng phương thức Sort(). Vì pgm_langs là một danh sách các chuỗi nên chúng ta có thể thấy rằng việc sắp xếp theo thứ tự bảng chữ cái.

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Để sắp xếp danh sách theo thứ tự bảng chữ cái ngược, bạn có thể đặt tham số ngược thành True khi gọi phương thức Sort().

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Tìm hiểu thêm về cách sắp xếp danh sách python.

Tạo một bản sao nông với copy()

Đôi khi việc sửa đổi bản sao của danh sách gốc thay vì sửa đổi chính danh sách gốc có thể hữu ích. Phương thức list copy() trả về bản sao rút gọn của danh sách Python.

Hãy tạo một bản sao ngắn của danh sách pgm_langs và gọi nó là pgm_langs_copy. Và chúng tôi đặt mục đầu tiên trong danh sách thành “Haskell” và in nó.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Tuy nhiên, chúng ta có thể thấy rằng danh sách pgm_langs không được sửa đổi. Do đó, việc tạo một bản sao nông và sửa đổi nó không làm thay đổi danh sách ban đầu.

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Nhận số lượng mục với count()

Đôi khi việc biết số lần một mục xuất hiện trong danh sách sẽ rất hữu ích. Phương thức count() trả về số lần xuất hiện của một mục trong danh sách.

Trong danh sách pgm_langs, tất cả các phần tử xuất hiện đúng một lần. Vì vậy, khi chúng ta cố gắng đếm “Đi”, chúng ta nhận được 1cái nào đúng.

print(pgm_langs.count('Go'))
# Output: 1

Sử dụng phương thức count() là một cách để loại bỏ các mục trùng lặp khỏi danh sách Python.

Lấy chỉ mục của một phần tử bằng chỉ mục()

Để tìm chỉ mục của một mục trong danh sách python, bạn có thể sử dụng phương thức index(). Giả sử chúng ta muốn tìm chỉ mục “C#” trong danh sách pgm_langs. Chúng ta có thể sử dụng câu lệnh khẳng định để kiểm tra xem một phần tử ở chỉ mục có 7 là C#”.

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Xóa mục khỏi chỉ mục bằng pop()

Bây giờ chúng ta hãy xem các phương thức danh sách, các phương thức danh sách để xóa các mục khỏi danh sách Python. Phương thức pop() được sử dụng để xóa và trả về phần tử tại chỉ mục đã chỉ định. Từ ví dụ mã trước, chúng ta biết rằng “C#” là ngôn ngữ chỉ mục 7.

Khi chúng ta gọi phương thức pop() trên danh sách pgm_langs với chỉ mục 7chúng ta thấy rằng nó trả về “C#”, mục tại chỉ mục 7và cũng loại bỏ nó khỏi danh sách.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Vì vậy phương thức pop() sẽ loại bỏ và trả về mục tại chỉ mục đã chỉ định. Tuy nhiên, việc chỉ định một chỉ mục là tùy chọn. Nếu bạn không chỉ định một chỉ mục, phương thức pop() sẽ xóa và trả về mục cuối cùng trong danh sách python, như trong hình:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Xóa các mục bằng Remove()

Đôi khi bạn có thể biết mục nào cần xóa nhưng không biết chỉ mục của nó. Trong trường hợp đó, bạn có thể sử dụng phương thức Remove() – phương thức này sẽ lấy mục cần xóa và xóa nó. Hãy xóa “Java” khỏi danh sách pgm_langs bằng phương thức Remove() như được hiển thị.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Xóa tất cả các mục bằng clear()

Nếu bạn muốn xóa tất cả các mục khỏi danh sách python thì sao? Bạn có thể lặp qua danh sách và xóa từng mục bằng phương thức Remove() như sau:

for lang in pgm_langs:
    pgm_langs.remove(lang)

Nhưng có cách nào tốt hơn? Có, sử dụng phương thức clear(). Chúng ta có thể thấy rằng việc gọi phương thức clear trong danh sách pgm_langs sẽ xóa tất cả các mục và pgm_langs hiện là một danh sách trống.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Tóm tắt các phương pháp danh sách python

Hãy tóm tắt nhanh các phương pháp tạo danh sách khác nhau và cú pháp của chúng:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Chèn elt vào chỉ mục trong list1append()list1.append(elt)Thêm elt vào cuối list1extend()list1.extend(list2)Thêm các phần tử từ list2 vào kết thúc list1sort()list1.sort()Sắp xếp danh sách trong placereverse()list1.reverse()Đảo ngược list1 trong placecopy()list1.copy()Trả về bản sao đơn giản của list1count()list1.count(elt)Trả về số của elts trong list1index()list1.index(elt) Trả về chỉ mục của elt trong list1pop()list1.pop(index) Loại bỏ elt khỏi chỉ mục và trả về nó. Remove()list1.remove(elt)Xóa elt khỏi list1clear()list1.clear()Xóa tất cả các mục khỏi list1

Ứng dụng

Tôi hy vọng hướng dẫn này đã giúp bạn hiểu cách sử dụng một số phương pháp xây dựng danh sách phổ biến nhất trong Python. Trong bước tiếp theo, tìm hiểu về bộ dữ liệu trong Python và sự khác biệt giữa danh sách và bộ dữ liệu trong Python.

Nếu bạn đang học Python, bạn có thể xem danh sách tài nguyên học tập thân thiện với người mới bắt đầu này.