Làm cách nào chúng tôi có thể cập nhật và xóa danh sách trong python?

Trong hướng dẫn Danh sách Python này, chúng ta sẽ khám phá các cách để Tạo, Truy cập, Cắt, Thêm/Xóa các phần tử vào Danh sách Python được cho là một trong những loại dữ liệu hữu ích nhất

Python bao gồm 4 loại dữ liệu bộ sưu tập như được đề cập bên dưới

  • Danh sách
  • Bố trí
  • Từ điển
  • Tuple

Trong hướng dẫn này, chúng tôi sẽ thảo luận chi tiết về Danh sách và các hoạt động khác nhau của nó. Trong Python list là một cấu trúc dữ liệu hay nó giống như một mảng dùng để chứa nhiều dữ liệu cùng một lúc

=> Khám phá loạt bài đào tạo Python tại đây

Nếu bạn có kinh nghiệm về bất kỳ ngôn ngữ lập trình nào khác như Java, C, C++, v.v., thì bạn sẽ quen với khái niệm mảng. Danh sách gần giống như mảng

Bạn sẽ học được gì

Danh sách Python là gì

Trong Python, danh sách là một kiểu dữ liệu, lưu trữ một tập hợp các đối tượng [mục] khác nhau trong dấu ngoặc vuông [[]]. Mỗi mục trong danh sách được phân tách bằng dấu phẩy [,] với mục đầu tiên ở chỉ mục 0

Ghi chú. Về sau, tất cả các ví dụ trong hướng dẫn này sẽ chạy trực tiếp từ trình bao Python, trừ khi có quy định khác.

Dưới đây là một ví dụ về danh sách có 5 mục

>>> l = ['what','who','where','when','how']
>>>l
['what','who','where','when','how']

Trong ví dụ trên, chúng ta có thể thấy rằng danh sách có các đối tượng Chuỗi dưới dạng các mục và mỗi mục được phân tách bằng dấu phẩy

Đặc điểm của danh sách Python

Trước khi xem cách chúng ta có thể thao tác các mục trong danh sách, hãy xem một số đặc điểm khiến danh sách Python được ưa chuộng

Danh sách Python là chuỗi vùng chứa

Không giống như dãy phẳng [chuỗi, mảng. mảng, chế độ xem bộ nhớ, v.v.] chỉ có thể chứa các mục thuộc một loại, danh sách là một chuỗi vùng chứa có thể chứa các mục thuộc một loại cũng như các loại khác nhau

Ví dụ với các mục của một loại

Hãy mở trình bao python của chúng tôi và xác định danh sách các số

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']

Ví dụ trên hiển thị danh sách các mục cùng loại, trong trường hợp này là loại chuỗi[str]

Ví dụ với các mặt hàng thuộc các loại khác nhau

Hãy mở trình bao Python của chúng tôi và xác định một phiên bản khác của danh sách các số

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]

Ví dụ trên hiển thị danh sách các mục thuộc các loại khác nhau. Các loại là chuỗi, số nguyên và float

// a sketch showing the list of items and their types as annotation

Danh sách Python cũng có thể chứa tất cả các đối tượng như hàm, lớp, mô-đun, danh sách, bộ dữ liệu, v.v.

Mở trình chỉnh sửa và dán mã bên dưới

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]

đầu ra

Danh sách Python được sắp xếp theo trình tự

Danh sách Python là một tập hợp các đối tượng được sắp xếp theo thứ tự. Vị trí của từng mục trong danh sách là rất quan trọng. Trên thực tế, hai danh sách có cùng mục sẽ không giống nhau nếu thứ tự sắp xếp các mục không giống nhau

>>> ['a','b','c','d'] == ['a','c','b','d']
False

Đặc điểm này của danh sách Python cho phép truy cập các mục của nó bằng cách lập chỉ mục và cắt [thêm về điều này sau]

Danh sách Python là các chuỗi có thể thay đổi

Danh sách Python có thể thay đổi. Nhưng một đối tượng có thể thay đổi là gì? . Ví dụ của các chuỗi có thể thay đổi khác là từ điển, mảng. mảng,.

Tại sao có thể thay đổi? . Điều này chỉ có thể với khả năng biến đổi. Khả năng thay đổi cũng cho phép chúng tôi sửa đổi danh sách tại chỗ [thêm về điều này]

Hãy xác minh tính có thể thay đổi của danh sách bằng ví dụ bên dưới .

Chỉ cần mở trình chỉnh sửa và dán mã

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]

đầu ra

Từ kết quả trên, chúng tôi nhận thấy rằng danh sách trước và sau khi sửa đổi là khác nhau. Tuy nhiên, giá trị Id là như nhau. Giá trị Id ở đây đại diện cho địa chỉ của đối tượng trong bộ nhớ – được lấy bằng Python

Điều này cho chúng ta biết rằng, mặc dù nội dung danh sách đã thay đổi, nhưng nó vẫn là cùng một đối tượng. Do đó, điều này thỏa mãn định nghĩa của chúng tôi. “Nó chỉ đơn giản là một đối tượng có thể được sửa đổi sau khi nó được tạo ra”

Ghi chú. Trong ví dụ trên, chúng tôi đã sử dụng lập chỉ mục[more on this] để sửa đổi danh sách.

Thao tác danh sách Python

Với danh sách Python, bầu trời là giới hạn của chúng tôi. Có vô số điều chúng ta có thể làm với danh sách như thêm, xóa, lập chỉ mục, cắt, kiểm tra tư cách thành viên, v.v. Ngoài ra, Python có các hàm tích hợp giúp việc thao tác với danh sách trở nên thú vị hơn

Trong phần này, chúng ta sẽ xem xét một số thao tác danh sách thường được sử dụng

Tạo một danh sách

Để tạo danh sách, bạn chỉ cần đặt một số mục hoặc biểu thức trong dấu ngoặc vuông được phân tách bằng dấu phẩy

 [expression1, expression2,...,expresionN]
>>> l = [4,3,5,9+3,False]
>>> l
[4, 3, 5, 12, False]

Ngoài ra, Python có một đối tượng tích hợp được gọi là list[] có thể được sử dụng để tạo danh sách

 list[ sequence ]
>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
0

Danh sách Python [] có thể lấy các loại trình tự và chuyển đổi chúng thành danh sách. Đây là cách điển hình để chuyển đổi một tuple thành một danh sách

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
1

Trong ví dụ trên, chúng tôi đã sử dụng kiểu dữ liệu. Nó tương tự như một danh sách nhưng không giống như danh sách, nó là bất biến và các phần tử của nó được đặt trong dấu ngoặc đơn

Một cách khác để chúng ta có thể tạo danh sách là sử dụng cú pháp sau

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
2
>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
3

Điều đáng chú ý là danh sách Python được chuyển qua tham chiếu. Có nghĩa là, việc chỉ định một danh sách sẽ cung cấp danh tính vị trí bộ nhớ của nó. Sai lầm mà nhiều người mới mắc phải là tạo danh sách theo cách này

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
4

Ở đây, chúng tôi có thể nghĩ rằng chúng tôi đã tạo hai danh sách khác nhau, nhưng thực sự chúng tôi chỉ tạo một danh sách. Hãy chứng minh điều này bằng cách sửa đổi một trong các biến

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
5

Chúng tôi nhận thấy rằng việc sửa đổi một biến sẽ thay đổi biến khác. Điều này là do cả hai biến l1 và l2 đều có cùng một định danh vị trí bộ nhớ, vì vậy cả hai đều trỏ đến cùng một đối tượng

Thêm mục vào danh sách

Python có nhiều cách để thêm phần tử vào danh sách của nó. Cách phổ biến nhất là sử dụng phương thức append[]. Các cách khác là sử dụng phương thức Extend[]. Lập chỉ mục và cắt [thêm về những điều này sau] có nhiều khả năng được sử dụng để thay thế các mục trong danh sách

#1] Sử dụng phương thức append[]

Phương thức này lấy một mục duy nhất và thêm nó vào cuối danh sách. Nó không trả về một danh sách mới mà chỉ sửa đổi danh sách tại chỗ [nhờ khả năng thay đổi của nó]

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
6

Vài điều cần lưu ý từ ví dụ trên

  • Các mục ở đây có thể là biểu thức, kiểu dữ liệu, trình tự, v.v.
  • Phương thức append[] có độ phức tạp về thời gian là [0]1. Có nghĩa là nó là hằng số

#2] Sử dụng phương thức mở rộng[]

Phương thức này lấy một iterable làm đối số của nó và thêm tất cả các mục từ nó vào cuối danh sách. Phương pháp này chủ yếu được sử dụng khi chúng tôi muốn thêm các mục riêng lẻ của chuỗi vào danh sách

Về cơ bản, phương thức mở rộng[] lặp lại đối số của nó và nối từng mục vào danh sách. Cũng giống như phương thức append[], nó không trả về một danh sách mới mà thay đổi danh sách tại chỗ

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
7

Vài điều cần lưu ý từ ví dụ trên

  • Một chuỗi có thể lặp lại, vì vậy phương thức mở rộng [] của chúng tôi sẽ lặp lại các ký tự của nó
  • Phương thức mở rộng[] có độ phức tạp về thời gian là [0]K trong đó K là độ dài của đối số của nó

Truy cập các mục từ danh sách

Lập chỉ mục và cắt lát là phương tiện phổ biến nhất được sử dụng để truy cập danh sách. Chúng ta cũng có thể truy cập các mục trong danh sách bằng các vòng lặp như vòng lặp for

#1] Lập chỉ mục

Danh sách Python sử dụng hệ thống đánh số dựa trên số không. Có nghĩa là, tất cả các mục của nó được xác định duy nhất bởi một số chỉ mục bắt đầu từ 0 đến n-1 trong đó n là độ dài của danh sách

Hãy xem xét danh sách dưới đây

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
8

Bảng bên dưới hiển thị các chỉ số tương ứng của chúng trong cách đánh số dựa trên số 0 của danh sách

Mụcmàu đỏmàu xanhmàu xanh lámàu vàngđenChỉ số01234

Từ bảng trên, chúng ta thấy rằng mục đầu tiên['đỏ'] nằm ở vị trí chỉ mục 0 và mục cuối cùng['đen' ] nằm ở vị trí chỉ mục 4[n-1] trong đó n=5[chiều dài của đối tượng

Như chúng ta đã thấy trong phần đặc trưng ở trên, danh sách Python được sắp xếp theo trình tự. Điều này cho phép chúng tôi sử dụng lập chỉ mục để truy cập và thao tác mục của nó một cách dễ dàng

Hãy sử dụng lập chỉ mục để truy cập các mục tại các chỉ số cụ thể của đối tượng màu sắc được tạo ở trên

>>> numbers = ['one','two','three','four','five']
>>> numbers
['one','two','three','four','five']
9

Ghi chú. Câu lệnh cuối cùng ở trên đang cố truy cập một mục ở vị trí chỉ mục 9 từ một đối tượng danh sách có độ dài 5. Trong danh sách Python, việc truy cập một mục tại một chỉ mục không tồn tại sẽ làm tăng ngoại lệ.

Một khái niệm quan trọng về lập chỉ mục là chúng ta có thể sử dụng lập chỉ mục phủ định. e. chúng ta có thể truy cập các mục của danh sách theo cách đảo ngược bắt đầu từ -1 cho mục cuối cùng và kết thúc tại -n cho mục cuối cùng trong đó n là độ dài của đối tượng danh sách

Trong bảng trên, nếu chúng ta sử dụng chỉ mục tiêu cực, nó sẽ giống như hình bên dưới

Mụcđỏxanh lụcvàngđenChỉ số-5-4-3-2-1

Hãy sử dụng lập chỉ mục phủ định để truy cập một số mục của đối tượng màu được tạo ở trên

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
0

#2] Cắt lát

Không giống như lập chỉ mục chỉ trả về một mục, mặt khác, việc cắt có thể trả về một loạt các mục

Nó có cú pháp sau

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
1

Khi n là số chỉ mục nơi lát cắt bắt đầu [mặc định là 0] và m là số chỉ mục duy nhất nơi lát cắt kết thúc [mặc định là độ dài-1]. Chúng được ngăn cách bởi dấu hai chấm [. ]

Xem xét ví dụ dưới đây sử dụng cắt để truy cập các mục tại các chỉ số cụ thể của đối tượng màu sắc được tạo ở trên

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
2

Theo cú pháp L[n. m], n mặc định là 0 và m mặc định là độ dài của danh sách. Vì vậy, trong ví dụ 1 và 3 ở trên, chúng ta có thể bỏ qua n và m dưới dạng màu sắc[. 2] và màu sắc [2. ] tương ứng. Hoặc là [. ] trong trường hợp này trả về một bản sao nông của toàn bộ đối tượng danh sách

Chúng ta cũng có thể sử dụng số chỉ mục âm trong khi cắt danh sách. Điều này thường được sử dụng khi chúng tôi muốn truy cập danh sách theo cách đảo ngược

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
3

Ngoài ra, có một tham số thứ ba hỗ trợ cắt được gọi là [các] bước. Nó xác định có bao nhiêu mục sẽ di chuyển về phía trước sau khi mục đầu tiên được lấy từ danh sách. Nó mặc định là 1

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
4

Sử dụng danh sách màu tương tự của chúng tôi được xác định ở trên, hãy sử dụng tham số thứ ba của lát cắt để di chuyển 2 bước

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
5

#3] Sử dụng vòng lặp

Các vòng lặp chủ yếu được sử dụng để truy cập các mục trong danh sách để thao tác với các mục. Vì vậy, trong trường hợp chúng ta muốn thao tác trên các mục của danh sách, chúng ta có thể sử dụng vòng lặp for để truy cập các mục và chuyển chúng cho thao tác trên

Giả sử, chúng tôi muốn đếm số lượng chữ cái cho mỗi mục. Chúng ta có thể sử dụng vòng lặp for để thực hiện điều đó

Mở trình chỉnh sửa và dán mã bên dưới

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
6

đầu ra

Để kết thúc phần này, chúng ta hãy xem xét hai điều thú vị có thể được thực hiện bằng cách cắt lát

  • Tạo một bản sao nông của danh sách

Đây là cách cơ bản để sử dụng phương thức copy[] của đối tượng danh sách hoặc chức năng tích hợp sẵn copy. sao chép. Tuy nhiên, điều này có thể đạt được bằng cách cắt

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
7
  • Đảo ngược một danh sách

Cách cơ bản là sử dụng phương thức đảo ngược của đối tượng danh sách hoặc hàm có sẵn. Tuy nhiên, điều này có thể đạt được bằng cách cắt

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
8

Xóa các mục khỏi danh sách

Vì chúng tôi có thể thêm bao nhiêu mục vào danh sách, chúng cũng có thể bị xóa khỏi danh sách. Ba cách mà các mục có thể được gỡ bỏ là

#1] Sử dụng câu lệnh del

Nó có cú pháp sau

>>> numbers = ['one',2,3,'four',5.0]
>>> numbers
['one',2,3,'four',5.0]
9

Danh sách đích[target_list] có thể là toàn bộ danh sách [trong trường hợp bạn muốn xóa danh sách] hoặc một mục hoặc nhiều mục trong danh sách [trong trường hợp này bạn sử dụng lập chỉ mục hoặc cắt]

Hãy xem xét ví dụ bên dưới .

Giả sử, chúng tôi muốn xóa một số mục khỏi danh sách màu được tạo ở trên

// a sketch showing the list of items and their types as annotation
0

Ghi chú. Câu lệnh del xóa tại chỗ i. e. , nó sẽ sửa đổi đối tượng danh sách ban đầu thay vì trả về một đối tượng danh sách mới.

#2] Sử dụng danh sách. xóa[x]

Nó xóa mục đầu tiên khỏi danh sách có giá trị bằng x. Nó làm tăng ValueError nếu không có mục nào như vậy

Phương pháp này được sử dụng chủ yếu để xóa các mục khỏi danh sách theo tên, không giống như câu lệnh del sử dụng lập chỉ mục và cắt

// a sketch showing the list of items and their types as annotation
1

Ghi chú. Phương thức remove[] xóa đối tượng danh sách ở vị trí i. e. , nó sẽ sửa đổi đối tượng danh sách ban đầu thay vì trả về một đối tượng danh sách mới.

#3] Sử dụng danh sách. bốp[[i]]

Nó xóa và trả về mục ở vị trí đã cho trong một đối tượng danh sách. Nếu không cung cấp i[index], nó sẽ xóa và trả về mục cuối cùng trong danh sách

Ghi chú. Dấu ngoặc vuông xung quanh i ở trên không có nghĩa là danh sách i, mà có nghĩa là tôi là tùy chọn.

// a sketch showing the list of items and their types as annotation
2

Ghi chú.  Danh sách. phương thức pop[[i]] xóa ở vị trí i. e. , nó sẽ sửa đổi đối tượng danh sách ban đầu thay vì trả về một đối tượng danh sách mới. Ngoài ra, nó trả về mục đã bị xóa khỏi danh sách

Thay thế các mục từ danh sách

Thay thế vật phẩm khá đơn giản. Trong một trong những phần trên, chúng tôi đã thấy lập chỉ mục và cắt. Chúng có thể được sử dụng để truy cập và xóa các mục khỏi danh sách

#1] Thay thế bằng lập chỉ mục

// a sketch showing the list of items and their types as annotation
3_______3_______4

#2] Thay thế bằng cách cắt lát

// a sketch showing the list of items and their types as annotation
5

Ghi chú. Giá trị phải là một , nếu không sẽ có ngoại lệ.

// a sketch showing the list of items and their types as annotation
6

Các câu hỏi thường gặp

Q #1] Danh sách các danh sách trong Python là gì?

Câu trả lời. Danh sách các danh sách trong Python là một danh sách chứa các danh sách là mục của nó

Ví dụ

// a sketch showing the list of items and their types as annotation
7

Nó cũng có thể được gọi là một danh sách lồng nhau

Q #2] Làm thế nào để bạn khai báo một danh sách trong Python?

Câu trả lời. Trong Python, một danh sách có thể được khai báo theo hai cách. Bằng cách sử dụng hàm tích hợp list[] hoặc bằng cách sử dụng ký hiệu ngoặc []. list[] nhận một iterable và [] nhận các mục thuộc bất kỳ loại nào được phân tách bằng dấu phẩy

// a sketch showing the list of items and their types as annotation
8

Q #3] Bạn có thể đặt một danh sách trong Python không?

Câu trả lời. Có, chúng ta có thể đặt một danh sách bên trong một danh sách. Trên thực tế, một danh sách là một chuỗi chứa các mục thuộc bất kỳ loại dữ liệu nào.

Q #4] List[] làm gì trong Python?

Câu trả lời. list[] là một hàm tích hợp trong Python dùng để tạo một đối tượng danh sách. Nó lấy một iterable làm đối số của nó

// a sketch showing the list of items and their types as annotation
9

Q #5] Danh sách Python có thể chứa các loại khác nhau không?

Câu trả lời. Danh sách là một chuỗi vùng chứa chứa các mục thuộc bất kỳ loại dữ liệu nào [danh sách, bộ dữ liệu, số nguyên, dấu phẩy, chuỗi, v.v.]

Tìm hiểu thêm về danh sách trong Python

Cấu trúc dữ liệu là gì?

Máy tính được sử dụng để lưu trữ một số lượng lớn dữ liệu hoặc xử lý một số lượng lớn dữ liệu với tốc độ và độ chính xác cao. Do đó, tốt nhất là lưu trữ dữ liệu vĩnh viễn để truy cập nhanh

Trong khi quá trình xử lý dữ liệu diễn ra, nó sẽ diễn ra trong thời gian ngắn nhất có thể mà không làm giảm độ chính xác. Chúng tôi sử dụng cấu trúc dữ liệu để xử lý dữ liệu một cách có tổ chức và lưu trữ dữ liệu trong bộ nhớ để xử lý

Vì Python là ngôn ngữ lập trình cấp cao và được giải thích, nên việc sử dụng cấu trúc dữ liệu trong Python là rất quan trọng

Danh sách là gì?

Danh sách là một cấu trúc dữ liệu được sử dụng để lưu trữ nhiều dữ liệu cùng một lúc

Dữ liệu được lưu trữ trong một danh sách là đồng nhất và điều đó làm cho nó trở thành tính năng mạnh mẽ nhất của danh sách trong Python. Chúng tôi có thể lưu trữ nhiều dữ liệu thuộc các loại dữ liệu khác nhau như Chuỗi, Số nguyên và đối tượng trong một danh sách

Danh sách có thể thay đổi trong Python, do đó dữ liệu có thể được thay đổi bất cứ lúc nào ngay cả sau khi tạo. Danh sách rất mạnh để triển khai ngăn xếp và hàng đợi trong Python

Như đã thảo luận trước đó, danh sách lưu trữ dữ liệu theo trình tự có thứ tự và dữ liệu được lưu trữ trong danh sách được truy cập bằng chỉ mục của chúng và đối với danh sách, chỉ mục sẽ luôn bắt đầu từ Không. Mỗi phần tử có một vị trí cụ thể trong danh sách và tất cả dữ liệu đó được truy cập với sự trợ giúp của chỉ mục

Trong danh sách, chúng ta có thể lưu trữ cùng một giá trị nhiều lần và mỗi dữ liệu sẽ được coi là một phần tử riêng biệt và duy nhất. Danh sách là cách tốt nhất để lưu trữ dữ liệu và lặp lại chúng sau này

Tạo một danh sách

Dữ liệu trong danh sách được lưu trữ phân tách bằng dấu phẩy và đặt trong dấu ngoặc vuông [[]]. Các mục trong danh sách không nhất thiết phải cùng loại

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
0

ví dụ 1

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
1

ví dụ 2

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
2

ví dụ 3

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
3

Ví dụ 4

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
4

Trong các ví dụ trên, chúng ta có thể quan sát thấy rằng chúng ta đã lưu trữ các mục có kiểu dữ liệu khác nhau được phân tách bằng dấu phẩy, 2 và 5 thuộc kiểu Integer, 6. 7 thuộc loại float và 'Hi' thuộc loại Chuỗi, tất cả các mục này được đặt trong một danh sách và điều đó làm cho nó trở thành một Danh sách

Chúng ta cũng có thể khai báo một danh sách trống. Chúng tôi cũng có thể khai báo danh sách bên trong một danh sách khác và chúng tôi gọi đây là danh sách lồng nhau

Ví dụ 5

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
5

Trong ví dụ trên, bạn có thể quan sát thấy rằng một danh sách đã được khai báo bên trong một danh sách khác

Truy cập các giá trị trong danh sách

Có nhiều cách khác nhau để chúng ta có thể truy cập các mục có trong danh sách trong Python

Với sự trợ giúp của chỉ mục, chúng ta có thể truy cập các phần tử của danh sách. Chỉ mục bắt đầu từ 0 và chỉ mục phải luôn là Số nguyên. Nếu chúng ta sử dụng một chỉ mục không phải là số nguyên như float, thì nó sẽ dẫn đến TypeError

ví dụ 1

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
6

đầu ra

danh sách là. [2, 5, 6. 7, ‘Xin chào’]

đầu ra

Trong ví dụ trên, chúng tôi đang in trực tiếp danh sách bằng chức năng in, chúng tôi không truy cập phần tử riêng lẻ từ danh sách

Hãy truy cập phần tử riêng lẻ từ danh sách

Thí dụ. 2

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
7

đầu ra

Phần tử thứ hai của danh sách là. 5

đầu ra

Trong ví dụ trên, bạn có thể quan sát thấy rằng chúng tôi đang in phần tử thứ hai của danh sách là 5, nhưng bạn có thể nhận được câu hỏi tại sao trong câu lệnh in, chúng tôi lại in Danh sách[1]?

Thí dụ. 3

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
8

đầu ra

Phần tử đầu tiên trong Danh sách là. 2
Phần tử cuối cùng trong Danh sách là. Xin chào

đầu ra

Thí dụ. 4

def test[]:
    """This is a function"""
    print["This is a test"]

if __name__ == '__main__': 
    print[test]
    # return instance object of function 'test'
    instance = type[test]
    print[instance]
    # create a list of colors
    colors = ["red","blue","green"]
    print[colors]
    
    # create a list holding all the various data types defined above, including boolean.
    my_list = [test, instance, colors, False]
    print[my_list]
9

đầu ra

Phần tử đầu tiên của danh sách là. tôi
Các phần tử hiện diện bên trong một danh sách khác là. 5

đầu ra

Trong chương trình trên nếu quan sát kỹ các bạn có thể thấy chúng ta đang truy cập các phần tử từ danh sách lồng nhau

Bên trong dữ liệu sẽ được lưu trữ ở định dạng ma trận như hình bên dưới

Xin chào

2 4 5

Do đó, khi chúng ta cố gắng truy cập List[0][1] thì nó sẽ trỏ đến hàng 1 và cột 2, do đó dữ liệu sẽ là 'i'

Tương tự khi ta truy cập vào List[1][2] thì nó sẽ trỏ đến hàng thứ 2 và cột thứ 3, như vậy dữ liệu sẽ là 5

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

Chúng tôi cũng có thể truy cập dữ liệu bằng cách sử dụng chỉ mục phủ định. Chỉ mục âm sẽ luôn bắt đầu từ -1 và -1 đề cập đến phần tử cuối cùng và -2 đề cập đến mục thứ hai cuối cùng, v.v.

Thí dụ. 1

>>> ['a','b','c','d'] == ['a','c','b','d']
False
0

đầu ra

Phần tử cuối cùng trong danh sách là. 3

đầu ra

Thí dụ. 2

>>> ['a','b','c','d'] == ['a','c','b','d']
False
1

đầu ra

Phần tử thứ hai trong danh sách là. 5

đầu ra

Cắt lát danh sách

Sử dụng toán tử lát cắt [. ] chúng ta có thể truy cập một loạt các phần tử từ danh sách

Thí dụ. 1

>>> ['a','b','c','d'] == ['a','c','b','d']
False
2

đầu ra

Các phần tử từ thứ 2 đến thứ 5 là. [2, 3, 4, 5]
Các phần tử bắt đầu từ thứ 2 là. [1, 2, 3, 4]
Phần tử thứ 4 đến hết là. [4, 5, 6, 7]
Các yếu tố từ đầu đến cuối là. [1, 2, 3, 4, 5, 6, 7]

đầu ra

Chúng ta cũng có thể truy cập các phần tử có trong danh sách bằng cách sử dụng vòng lặp for

Thí dụ. 2

>>> ['a','b','c','d'] == ['a','c','b','d']
False
3

đầu ra

1
2
3
4
5
6
7

đầu ra

Hãy nhớ định dạng lập chỉ mục bên dưới

HELLO5794012345678-9-8-7-6-5-4-3-2-1

Như đã thảo luận trước đó, Danh sách trong python có thể thay đổi, có nghĩa là các phần tử có thể được thay đổi ngay cả khi đó là Số nguyên hoặc Chuỗi hoặc bất kỳ kiểu dữ liệu nào

Chúng ta có thể cập nhật danh sách bằng toán tử gán

Thí dụ. 3

>>> ['a','b','c','d'] == ['a','c','b','d']
False
4

đầu ra

Danh sách cập nhật là. [7, 4, 6, 9]

đầu ra

Trong ví dụ trên, chúng tôi đang cập nhật phần tử đầu tiên của danh sách '2' bằng phần tử mới '7'

Thí dụ. 4

>>> ['a','b','c','d'] == ['a','c','b','d']
False
5

đầu ra

Danh Sách Cập Nhật bây giờ là. [2, 5, 2, 4, 9, 0, 7]

Trong ví dụ trên, chúng tôi đang cập nhật danh sách dữ liệu vào danh sách

đầu ra

Thêm phần tử vào danh sách

Có một số cách để chúng ta có thể thêm các phần tử vào danh sách và python có một hàm dựng sẵn gọi là append[]

Sử dụng append[], chúng ta chỉ thêm được một phần tử vào danh sách, nếu muốn thêm nhiều phần tử vào danh sách thì chúng ta phải sử dụng vòng lặp for. hàm append[] luôn thêm phần tử vào cuối danh sách, hàm append[] chỉ nhận một đối số

Nếu bạn muốn thêm phần tử vào một vị trí cụ thể thì bạn chỉ cần sử dụng phương thức insert[]. insert[] nhận hai đối số i. e. vị trí và giá trị, vị trí đề cập đến chỉ mục, trong đó các phần tử cần được thêm vào và giá trị đề cập đến phần tử được thêm vào danh sách

Có một phương thức gọi là mở rộng[], sử dụng phương thức này chúng ta có thể thêm các phần tử vào danh sách. phương thức expand[] được sử dụng để thêm danh sách các phần tử vào danh sách. Tương tự như phương thức append[] và phương thức expand[], nó cũng sẽ thêm phần tử vào cuối danh sách

Thí dụ. 1

>>> ['a','b','c','d'] == ['a','c','b','d']
False
6

đầu ra

Danh sách trước khi thêm giá trị là. ["Chào buổi sáng"]
Danh sách sau khi nối thêm các giá trị là. [“Xin chào”, “Chào buổi sáng”, “Trăn”, “Xin chào”]

Trong ví dụ trên, chúng tôi đang thêm các giá trị 'Python' và 'Hi' vào cuối Danh sách

đầu ra

Thí dụ. 2

>>> ['a','b','c','d'] == ['a','c','b','d']
False
7

đầu ra

Danh sách trước khi thêm giá trị là. ["Chào buổi sáng"]
Độ dài của danh sách trước khi nối thêm là. 2
Danh sách sau khi nối thêm các giá trị là. [“Xin chào”, “Chào buổi sáng”, “Trăn”, “Xin chào”]
Độ dài của danh sách sau khi nối thêm là. 4

Chúng ta có thể tìm độ dài của danh sách bằng cách sử dụng hàm len[], như trong ví dụ trên

đầu ra

Chúng ta cũng có thể thêm nhiều giá trị vào danh sách bằng vòng lặp for

Thí dụ. 3

>>> ['a','b','c','d'] == ['a','c','b','d']
False
8

đầu ra

Danh sách trước khi thêm phần tử là. [7, 9, 8]
Độ dài của Danh sách trước khi thêm phần tử là. 3
Danh sách sau khi thêm phần tử là. [7, 9, 8, 2, 3, 4, 5]
Độ dài của Danh sách sau khi thêm phần tử là. 7

đầu ra

Điều gì xảy ra nếu chúng ta thêm danh sách danh sách vào danh sách?

Thí dụ. 4

>>> ['a','b','c','d'] == ['a','c','b','d']
False
9

đầu ra

List1 sau khi thêm List2 là. [“Chào”, “Trăn”, [1, 5, 7, 2]]

Các bạn để ý trong ví dụ trên, khi chúng ta nối List2 với List1 thì List1 sẽ trở thành danh sách lồng nhau

đầu ra

Nếu bạn không muốn tạo danh sách dưới dạng danh sách lồng nhau sau khi nối thêm danh sách, thì tốt hơn là sử dụng phương thức Extend[]

Thí dụ. 5

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
0

đầu ra

List1 sau khi thêm List2 là. [“Chào”, “Trăn”, 1, 5, 7, 2]

Khi chúng ta sử dụng phương thức expand[] thì các phần tử của List1 sẽ được mở rộng bằng các phần tử của List2. Hãy nhớ rằng nó sẽ không nối danh sách khi chúng ta sử dụng phương thức Extend[]

đầu ra

Khi bạn mở rộng một danh sách bằng một chuỗi, thì nó sẽ nối từng ký tự của chuỗi vào danh sách, vì một chuỗi có thể lặp lại

Thí dụ. 6

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
1

đầu ra

Danh sách sau khi mở rộng Chuỗi là. [1, 5, 7, 2, 'P', 'y', 't', 'h', 'o', 'n']

đầu ra

Danh sách nối thêm [] so với mở rộng []

Hãy cùng xem một số ví dụ về hàm mở rộng[] và append[]

Thí dụ. 1

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
2

đầu ra

Các phần tử của Danh sách là. [“Xin chào”, 1, “Xin chào”, 2, 5]
Danh sách sau khi nối Chuỗi là. [“Xin chào”, 1, “Xin chào”, 2, 5, “Trăn”]
Danh sách sau khi nối thêm danh sách là. [“Xin chào”, 1, “Xin chào”, 2, 5, “Trăn”, [“một”, “hai”, 3]]
List1 sau khi mở rộng List2 là. [“Xin chào”, 1, “Xin chào”, 2, 5, “Trăn”, [“một”, “hai”, 3], “Táo”, “Cam”, 2, 8]

đầu ra

Thí dụ. 2

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
3

đầu ra

Danh sách trước khi chèn là. [“Táo”, “Cam”, “Xoài”, “Dâu tây”]
Danh sách sau khi chèn là. [“Táo”, “Cam”, “Dưa hấu”, “Xoài”, “Dâu tây”]

đầu ra

Như chúng ta đã thảo luận trước đó, phương thức insert[] được sử dụng để chèn các giá trị vào một chỉ mục cụ thể của danh sách

Thí dụ. 3

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
4

đầu ra

Danh sách sau khi thêm các phần tử là. [2, 4, 6, 8, 1, 3, 5, 7]
Sau khi thêm các phần tử giống nhau nhiều lần là. [‘Chào’, ‘Chào’, ‘Chào’, ‘Chào’, ‘Chào’]

đầu ra

Xóa hoặc loại bỏ các phần tử khỏi danh sách

Chúng ta cũng có thể xóa hoặc loại bỏ các phần tử khỏi danh sách bằng cách sử dụng các câu lệnh del và remove[]

Hãy xem trong ví dụ dưới đây

Thí dụ. 1

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
5

đầu ra

Danh sách trước khi xóa phần tử thứ 3 là. [1, 2, 3, 4, 5, 6, 7, 8, 9]
Danh sách sau khi xóa phần tử thứ 3 là. [1, 2, 3, 5, 6, 7, 8, 9]
Danh sách sau khi xóa nhiều phần tử là. [1, 5, 6, 7, 8, 9]

Trong ví dụ trên, bạn có thể quan sát thấy rằng chúng tôi đã sử dụng câu lệnh del để xóa một phần tử hoặc nhiều câu lệnh khỏi danh sách

đầu ra

Bây giờ chúng ta sẽ xem về phương thức remove[]

Thí dụ. 2

def veryfiy_mutability[]:
    # create a list
    l = [9,0,4,3,5]

    print["Display before modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]

    # modify the list by replacing the item at 
    # index 3 to the item -2.
    l[3] = -2

    print["Display after modifying"]
    print["List: {}\nId: {}".format[l,id[l]]]


if __name__ == '__main__':
    veryfiy_mutability[]
6

đầu ra

Danh sách trước khi loại bỏ một phần tử là. [1, 2, 3, 4, 5, 6, 7]
Danh sách sau khi loại bỏ một phần tử là. [1, 2, 4, 5, 6, 7]
Danh sách sau khi bật phần tử là. [1, 2, 4, 5, 6]

Trong ví dụ trên, bạn có thể quan sát thấy rằng chúng ta đang xóa một phần tử khỏi danh sách bằng phương thức remove[]. Phương thức pop[] được sử dụng để xóa/xóa phần tử cuối cùng khỏi danh sách

đầu ra

Liệt kê các phương thức

MethodsDescriptionclear[] Để xóa tất cả các phần tử khỏi danh sách. append[] Để thêm phần tử vào cuối danh sách. insert[] Để chèn phần tử vào một chỉ mục cụ thể của danh sách. Extend[] Để thêm danh sách các phần tử vào cuối danh sách. đếm [] Để trả về số phần tử có giá trị cụ thể. index[] Để trả về chỉ số của phần tử đầu tiên. pop[] Để xóa/xóa phần tử khỏi phần tử cuối cùng trong danh sách. Reverse[] Để đảo ngược một danh sách hiện có. remove[] Để xóa các phần tử khỏi danh sách

Phần kết luận

Trong hướng dẫn này, chúng ta đã xem xét một số đặc điểm của Danh sách Python cùng với các cách khác nhau để thao tác với danh sách, chẳng hạn như tạo danh sách, truy cập các mục từ danh sách và thay thế các mục từ danh sách

Làm cách nào chúng tôi có thể cập nhật danh sách bằng Python?

Bạn có thể cập nhật một hoặc nhiều phần tử của danh sách bằng cách đặt lát cắt ở phía bên trái của toán tử gán và bạn có thể .

Làm thế nào chúng ta có thể xóa một danh sách trong Python?

Phương thức clear[] làm trống danh sách.

Chúng ta có thể thay đổi hoặc cập nhật các phần tử danh sách trong Python không?

Danh sách trong python là loại có thể thay đổi, nghĩa là có thể thay đổi danh sách sau khi gán một số giá trị . Danh sách tương tự như mảng trong các ngôn ngữ lập trình khác.

Chúng ta có thể xóa các phần tử danh sách trong Python không?

Có thể xóa các mục trong danh sách bằng cách sử dụng câu lệnh del bằng cách chỉ định chỉ mục của mục [phần tử] sẽ bị xóa .

Chủ Đề