Danh sách là một trong những cấu trúc dữ liệu hữu ích nhất có sẵn trong Python hoặc thực sự là bất kỳ ngôn ngữ lập trình nào, vì chúng được sử dụng trong rất nhiều thuật toán và giải pháp khác nhau
Sau khi chúng tôi đã tạo một danh sách, đôi khi chúng tôi có thể cần thêm các phần tử mới vào danh sách đó, cho dù đó là ở cuối, đầu hay đâu đó ở giữa. Python cung cấp cho chúng ta ba phương pháp khác nhau để làm như vậy. Trong bài viết này, tôi sẽ chỉ ra sự khác biệt giữa các phương pháp danh sách
a = [1, 'x', 2]
a.append['y']
print[a]
1, a = [1, 'x', 2]
a.append['y']
print[a]
2 và a = [1, 'x', 2]
a.append['y']
print[a]
3nối thêm
Phương pháp này thêm một phần tử vào cuối danh sách hiện có. Cú pháp để sử dụng nó là
a.append[x]
Ở đây, biến
a = [1, 'x', 2]
a.append['y']
print[a]
4 là danh sách của chúng tôi và a = [1, 'x', 2]
a.append['y']
print[a]
5 là phần tử cần thêm. Biểu thức này tương đương với a = [1, 'x', 2]
a.append['y']
print[a]
6Ví dụ: đây là cách sử dụng nó để đặt phần tử "y" ở cuối danh sách của chúng ta,
a = [1, 'x', 2]
a.append['y']
print[a]
4a = [1, 'x', 2]
a.append['y']
print[a]
Chạy mã này sẽ dẫn đến đầu ra sau
$ python append.py
[1, 'x', 2, 'y']
Chèn
Phương thức này chèn một mục vào một vị trí đã chỉ định trong danh sách đã cho. Cú pháp là
a = [1, 'x', 2]
a.append['y']
print[a]
0Ở đây, đối số
a = [1, 'x', 2]
a.append['y']
print[a]
8 là chỉ số của phần tử trước đó để chèn phần tử a = [1, 'x', 2]
a.append['y']
print[a]
5. Do đó, $ python append.py
[1, 'x', 2, 'y']
0 cũng giống như $ python append.py
[1, 'x', 2, 'y']
1. Mặc dù, sức mạnh của phương pháp này đến từ việc sử dụng nó để đặt các mục ở đâu đó trong danh sách chứ không phải ở cuối. Nếu bạn chỉ cần thêm một phần tử vào cuối danh sách thì a = [1, 'x', 2]
a.append['y']
print[a]
1 hoạt động tốt cho việc đó và nhanh hơn [điều này quan trọng đối với các danh sách lớn]Ví dụ
a = [1, 'x', 2]
a.append['y']
print[a]
6Mã này sẽ dẫn đến đầu ra sau
a = [1, 'x', 2]
a.append['y']
print[a]
7Như bạn có thể thấy, phần tử đã cho được đặt ở bất kỳ đâu trong danh sách mà chúng tôi chỉ định. Điều này hoạt động tốt khi bạn có một danh sách trong đó các mục của nó được sắp xếp theo thứ tự, vì vậy bạn không thể chỉ thêm phần tử của mình vào cuối, giống như bạn sẽ làm với
a = [1, 'x', 2]
a.append['y']
print[a]
1Gia hạn
Phương thức này thêm các phần tử [chú ý số nhiều của nó. ] vào một danh sách bằng cách thêm vào tất cả các thành phần của iterable mà bạn chuyển đến nó. Danh sách kết quả là danh sách chứa tất cả các phần tử của cả hai danh sách
Cú pháp sử dụng phương thức này là
a = [1, 'x', 2]
a.append['y']
print[a]
9Trong trường hợp này,
a = [1, 'x', 2]
a.append['y']
print[a]
4 là danh sách của chúng tôi và a = [1, 'x', 2]
a.append['y']
print[a]
5 là một đối tượng có thể lặp lại, chẳng hạn như một danh sách khác. Phương pháp này tương đương với $ python append.py
[1, 'x', 2, 'y']
6Ví dụ
a = [1, 'x', 2]
a.append['y']
print[a]
3Chạy mã này dẫn đến đầu ra sau
Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
a = [1, 'x', 2]
a.append['y']
print[a]
4Lưu ý cách hai danh sách được kết hợp với nhau, cái này nối tiếp cái kia
Trong Python, bạn cũng có thể đạt được kết quả tương tự bằng cách thực hiện một phép cộng đơn giản. Vì vậy, trong trường hợp này,
$ python append.py
[1, 'x', 2, 'y']
7 sẽ dẫn đến cùng một mảng chính xác như tập lệnh của chúng tôi ở trên. Điều này là nhờ phương pháp $ python append.py
[1, 'x', 2, 'y']
8 được triển khai trong danh sách, nhưng điều đó nằm ngoài phạm vi của bài viết nàySo sánh từng phương pháp
Để xem các kết quả khác nhau thu được thông qua các phương pháp này, hãy so sánh trực tiếp bằng cách chạy đoạn mã sau
a = [1, 'x', 2]
a.append['y']
print[a]
7Trong chương trình này, chúng tôi đã xác định ba danh sách có các phần tử giống hệt nhau. Chúng tôi cũng đã xác định một danh sách thứ hai mà chúng tôi nối thêm, chèn và mở rộng cho từng danh sách trong số ba danh sách tương tự đã xác định trước đó. Kết quả là như sau
a = [1, 'x', 2]
a.append['y']
print[a]
0Như chúng ta có thể thấy, cả
a = [1, 'x', 2]
a.append['y']
print[a]
1 và a = [1, 'x', 2]
a.append['y']
print[a]
3 đều thêm danh sách a = [1, 'x', 2]
a.append['y']
print[a]
01 vào danh sách ban đầu, nhưng dưới dạng một phần tử duy nhất, đó là một danh sách. Nói cách khác, nó không nối thêm từng phần tử của a = [1, 'x', 2]
a.append['y']
print[a]
01 riêng lẻ mà thay vào đó, nó nối thêm toàn bộ đối tượngMặt khác, phương pháp
a = [1, 'x', 2]
a.append['y']
print[a]
2 thực sự thêm các phần tử riêng lẻ của danh sách a = [1, 'x', 2]
a.append['y']
print[a]
01, dưới dạng các phần tử riêng biệt và duy nhất của danh sách kết quảĐiều này hoàn toàn phù hợp với những gì chúng ta đã thấy trước đó, đó là,
a = [1, 'x', 2]
a.append['y']
print[a]
1 và a = [1, 'x', 2]
a.append['y']
print[a]
3 chỉ thêm một phần tử duy nhất. Trong khi đó, a = [1, 'x', 2]
a.append['y']
print[a]
2, mở rộng danh sách ban đầu bằng cách thêm các phần tử của danh sách thứ hai vào cuối danh sáchMột sự khác biệt khác cần xem xét là thước đo hiệu quả. Căn cứ vào cách thức hoạt động của từng thao tác, chúng ta có thể dễ dàng tìm ra độ phức tạp về thời gian cho từng phương thức. Hoặc bạn chỉ có thể gian lận và xem trang Độ phức tạp thời gian trên python. trang wiki của tổ chức
Độ phức tạp thời gian như sau
Phương pháp Thời gian Độ phức tạpa = [1, 'x', 2]
a.append['y']
print[a]
08O[1]a = [1, 'x', 2]
a.append['y']
print[a]
09O[n]a = [1, 'x', 2]
a.append['y']
print[a]
60O[k]Ở đây "n" là số phần tử hiện có trong danh sách và "k" là số phần tử trong đối tượng tham số
Những điểm này cho thấy rằng ba phương pháp này là bổ sung cho nhau. Chúng ta phải chọn cái nào để sử dụng, theo nhu cầu của chúng ta
- Nếu chúng ta muốn thêm một phần tử vào cuối danh sách, chúng ta nên sử dụng
1. Nó nhanh hơn và trực tiếpa = [1, 'x', 2] a.append['y'] print[a]
- Nếu chúng ta muốn thêm một phần tử vào đâu đó trong danh sách, chúng ta nên sử dụng
3. Đó là lựa chọn duy nhất cho việc nàya = [1, 'x', 2] a.append['y'] print[a]
- Nếu chúng ta muốn kết hợp các phần tử của một iterable khác vào danh sách của mình, thì chúng ta nên sử dụng
2a = [1, 'x', 2] a.append['y'] print[a]
kết thúc
Python đưa ra một số lựa chọn để thêm các phần tử vào danh sách, tất cả đều bổ sung cho nhau và có các trường hợp sử dụng riêng. Trong bài viết này, chúng tôi đã trình bày ba trong số các lựa chọn đó, cách sử dụng từng lựa chọn và thời điểm sử dụng từng lựa chọn. Việc lựa chọn phương pháp bạn chọn nên dựa trên nhu cầu của bạn