Append thêm các phần tử mới ở đâu python?

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)
3

nố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)
6

Ví 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)
4

a = [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)
6

Mã này sẽ dẫn đến đầu ra sau

a = [1, 'x', 2]
a.append('y')

print(a)
7

Như 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)
1

Gia 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)
9

Trong 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']
6

Ví dụ

a = [1, 'x', 2]
a.append('y')

print(a)
3

Chạ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)
4

Lư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ày

So 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)
7

Trong 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)
0

Như 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ượng

Mặ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ách

Mộ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ạp
a = [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
    a = [1, 'x', 2]
    a.append('y')
    
    print(a)
    
    1. Nó nhanh hơn và trực tiếp
  • 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
    a = [1, 'x', 2]
    a.append('y')
    
    print(a)
    
    3. Đó là lựa chọn duy nhất cho việc này
  • 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
    a = [1, 'x', 2]
    a.append('y')
    
    print(a)
    
    2

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

append thêm các yếu tố mới ở đâu?

Phương thức append() thêm một mục vào cuối danh sách .

Nối thêm vào Python trước hay sau?

Bạn có thể thêm phần tử vào danh sách bằng phương thức append. Phương thức append() thêm một phần tử vào cuối danh sách .

Nối thêm vào đầu hay cuối?

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 append . Nó nhanh hơn và trực tiếp. 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 lệnh chèn.

Append có tạo danh sách mới không?

Phương thức append() không tạo danh sách mới . Thay vào đó, danh sách ban đầu được thay đổi. append() cũng cho phép bạn thêm nội dung của danh sách này vào danh sách khác.