Hướng dẫn what is the difference between append and concatenate in python? - sự khác biệt giữa append và concatenate trong python là gì?

Phương thức

some_list1 = []
some_list1.append("something")
5 thêm một mục mới vào cuối danh sách. Cũng có thể thêm một mục mới vào cuối danh sách bằng cách sử dụng toán tử nối. Tuy nhiên, bạn cần phải cẩn thận.

Xem xét các ví dụ sau. Danh sách ban đầu có 3 số nguyên. Chúng tôi muốn thêm từ "Cat Cat vào cuối danh sách.

Hoạt động: CodeLens 10.16.1 (AppCon1)

Ở đây chúng tôi đã sử dụng

some_list1 = []
some_list1.append("something")
5 chỉ đơn giản là sửa đổi danh sách. Để sử dụng Concatenation, chúng ta cần viết một câu lệnh gán sử dụng mẫu tích lũy:

origlist = origlist + ["cat"]

Lưu ý rằng từ Cat Cat, cần phải được đặt trong danh sách vì nhà điều hành Concatenation cần hai danh sách để thực hiện công việc của mình.

Hoạt động: CodeLens 10.16.2 (APPCON2)

Điều quan trọng là phải nhận ra rằng với phần phụ, danh sách ban đầu chỉ đơn giản là sửa đổi. Mặt khác, với sự kết hợp, một danh sách hoàn toàn mới được tạo ra. Điều này có thể được nhìn thấy trong ví dụ CodeLENS sau đây

some_list1 = []
some_list1.append("something")
7 đề cập đến một danh sách là bản sao của danh sách ban đầu,
some_list1 = []
some_list1.append("something")
8, với mục mới Cat Cat được thêm vào cuối.
some_list1 = []
some_list1.append("something")
8 vẫn chứa ba giá trị mà nó đã làm trước khi kết nối. Đây là lý do tại sao hoạt động gán là cần thiết như là một phần của mẫu tích lũy.

Hoạt động: Codelens 10.16.3 (AppCon3)

Kiểm tra bạn hiểu

    Những gì được in bởi các câu sau đây?

    alist = [4, 2, 8, 6, 5]
    alist = alist + 999
    print(alist)
    

  • [4, 2, 8, 6, 5, 999]
  • Bạn không thể kết hợp một danh sách với số nguyên.
  • Lỗi, bạn không thể kết hợp một danh sách với số nguyên.
  • Có, để thực hiện kết hợp, bạn sẽ cần viết alist+[999]. Bạn phải có hai danh sách.

Bạn đã thử các hoạt động trên trang này of activities on this page

Sự khác biệt giữa:

some_list1 = []
some_list1.append("something")

some_list2 = []
some_list2 += ["something"]

Agf

165K41 Huy hiệu vàng280 Huy hiệu bạc232 Huy hiệu Đồng41 gold badges280 silver badges232 bronze badges

Hỏi ngày 7 tháng 4 năm 2009 lúc 13:44Apr 7, 2009 at 13:44

Hướng dẫn what is the difference between append and concatenate in python? - sự khác biệt giữa append và concatenate trong python là gì?

3

Đối với trường hợp của bạn, sự khác biệt duy nhất là hiệu suất: append nhanh gấp đôi.

Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141

Trong trường hợp chung

some_list2 = []
some_list2 += ["something"]
0 sẽ thêm một mục vào danh sách, trong khi
some_list2 = []
some_list2 += ["something"]
1 sẽ sao chép tất cả các yếu tố của danh sách bên phải vào danh sách bên trái.

Cập nhật: Phân tích hoàn hảo

So sánh bytecodes Chúng ta có thể giả sử rằng phiên bản

some_list2 = []
some_list2 += ["something"]
0 làm lãng phí các chu kỳ trong
some_list2 = []
some_list2 += ["something"]
3 +
some_list2 = []
some_list2 += ["something"]
4 và + = phiên bản - trong
some_list2 = []
some_list2 += ["something"]
5. Rõ ràng
some_list2 = []
some_list2 += ["something"]
5 vượt trội so với
some_list2 = []
some_list2 += ["something"]
3 +
some_list2 = []
some_list2 += ["something"]
4.

>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE

Chúng tôi có thể cải thiện hiệu suất thậm chí nhiều hơn bằng cách loại bỏ

some_list2 = []
some_list2 += ["something"]
3 chi phí:

>>> timeit.Timer('a("something")', 's = []; a = s.append').timeit()
0.15924410999923566

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 14:00Apr 7, 2009 at 14:00

ConstantinconstantinConstantin

Phim thương hiệu vàng 27K1059 Huy hiệu bạc79 Hàng đồng10 gold badges59 silver badges79 bronze badges

6

>>> a=[]
>>> a.append([1,2])
>>> a
[[1, 2]]
>>> a=[]
>>> a+=[1,2]
>>> a
[1, 2]

Xem phần Phụ lục đó thêm một yếu tố duy nhất vào danh sách, có thể là bất cứ điều gì.

Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
0 tham gia danh sách.

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 13:57Apr 7, 2009 at 13:57

DWCDWCdwc

23.6K7 Huy hiệu vàng43 Huy hiệu bạc54 Huy hiệu đồng7 gold badges43 silver badges54 bronze badges

1

Trong ví dụ bạn đã đưa ra, không có sự khác biệt, về đầu ra, giữa

some_list2 = []
some_list2 += ["something"]
0 và
some_list2 = []
some_list2 += ["something"]
1. Nhưng có một sự khác biệt giữa
some_list2 = []
some_list2 += ["something"]
0 và
Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
4 (câu hỏi ban đầu được hỏi).

>>> a = []
>>> id(a)
11814312
>>> a.append("hello")
>>> id(a)
11814312

>>> b = []
>>> id(b)
11828720
>>> c = b + ["hello"]
>>> id(c)
11833752
>>> b += ["hello"]
>>> id(b)
11828720

Như bạn có thể thấy,

some_list2 = []
some_list2 += ["something"]
0 và
some_list2 = []
some_list2 += ["something"]
1 có kết quả tương tự; Họ thêm mục vào danh sách, mà không tạo ra một danh sách mới. Sử dụng
Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
4 thêm hai danh sách và tạo ra một danh sách mới.

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 13:51Apr 7, 2009 at 13:51

DNSDNSDNS

36.4K18 Huy hiệu vàng90 Huy hiệu bạc127 Huy hiệu đồng18 gold badges90 silver badges127 bronze badges

3

+= là một nhiệm vụ. Khi bạn sử dụng nó, bạn thực sự nói ‘some_list2 = some_list2+['something']. Bài tập liên quan đến Rebinding, vì vậy:

l= []

def a1(x):
    l.append(x) # works

def a2(x):
    l= l+[x] # assign to l, makes l local
             # so attempt to read l for addition gives UnboundLocalError

def a3(x):
    l+= [x]  # fails for the same reason

Toán tử += cũng thường nên tạo một đối tượng danh sách mới như Danh sách +Danh sách thông thường:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
0

Tuy nhiên trong thực tế:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
1

Điều này là do danh sách Python triển khai __iadd __ () để tạo A += tăng cường chuyển số ngắn mạch và danh sách cuộc gọi.Extend () thay thế. (Đó là một chút của một mụn cóc kỳ lạ này: Nó thường làm những gì bạn muốn nói, nhưng vì lý do khó hiểu.)

Nói chung, nếu bạn đang nối thêm/mở rộng một danh sách hiện có và bạn muốn giữ tham chiếu đến cùng một danh sách (thay vì tạo một danh sách mới), tốt nhất là nên rõ ràng và gắn bó với append ()/extend () Phương pháp.

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 15:29Apr 7, 2009 at 15:29

Bobincebobincebobince

520K103 Huy hiệu vàng647 Huy hiệu bạc827 Huy hiệu Đồng103 gold badges647 silver badges827 bronze badges

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
2

thực sự là

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
3

Đối với một giá trị, không có sự khác biệt. Tài liệu nêu rõ, rằng:

Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
8 giống như
Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
9
>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
0 giống như
>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
1
>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
0 same as
>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
1

Do đó rõ ràng

Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.20177424499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.41192320500000079

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import timeit
>>> timeit.Timer('s.append("something")', 's = []').timeit()
0.23079359499999999
>>> timeit.Timer('s += ["something"]', 's = []').timeit()
0.44208112500000141
8 giống như
>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
3

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 13:54Apr 7, 2009 at 13:54

Vartecvartecvartec

128K36 Huy hiệu vàng213 Huy hiệu bạc242 Huy hiệu Đồng36 gold badges213 silver badges242 bronze badges

1

Sự khác biệt là Concatenate sẽ làm phẳng danh sách kết quả, trong khi phần phụ sẽ giữ nguyên các cấp độ:concatenate will flatten the resulting list, whereas append will keep the levels intact:

Vì vậy, ví dụ với:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
4

Sử dụng phụ lục, bạn kết thúc với một danh sách các danh sách:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
5

Sử dụng Concatenate thay thế, bạn kết thúc với một danh sách phẳng:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
6

Alex Shroyer

3.3322 Huy hiệu vàng27 Huy hiệu bạc51 Huy hiệu Đồng2 gold badges27 silver badges51 bronze badges

Đã trả lời ngày 10 tháng 6 năm 2014 lúc 8:56Jun 10, 2014 at 8:56

SRC2SRC2SRC2

1011 Huy hiệu bạc2 Huy hiệu đồng1 silver badge2 bronze badges

Các bài kiểm tra hiệu suất ở đây không chính xác:

  1. Bạn không nên chạy hồ sơ chỉ một lần.
  2. Nếu so sánh
    some_list2 = []
    some_list2 += ["something"]
    
    0 so với
    Python 3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import timeit
    >>> timeit.Timer('s.append("something")', 's = []').timeit()
    0.20177424499999999
    >>> timeit.Timer('s += ["something"]', 's = []').timeit()
    0.41192320500000079
    
    Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import timeit
    >>> timeit.Timer('s.append("something")', 's = []').timeit()
    0.23079359499999999
    >>> timeit.Timer('s += ["something"]', 's = []').timeit()
    0.44208112500000141
    
    0 một số lần, bạn nên khai báo
    some_list2 = []
    some_list2 += ["something"]
    
    0 là hàm cục bộ.
  3. Kết quả thời gian khác nhau trên các phiên bản Python khác nhau: 64- và 32 bit.

e.g.

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
7

Các bài kiểm tra tốt có thể được tìm thấy ở đây: Danh sách Python nối thêm so với += []

tdy

30.2k11 Huy hiệu vàng59 Huy hiệu bạc59 Huy hiệu đồng11 gold badges59 silver badges59 bronze badges

Đã trả lời ngày 2 tháng 1 năm 2012 lúc 13:42Jan 2, 2012 at 13:42

MichaelmichaelMichael

2.7874 huy hiệu vàng28 Huy hiệu bạc47 Huy hiệu đồng4 gold badges28 silver badges47 bronze badges

1

Ngoài các khía cạnh được mô tả trong các câu trả lời khác, nối và +[] có những hành vi rất khác nhau khi bạn đang cố gắng xây dựng một danh sách danh sách.

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
8

list1+['5', '6'] thêm '5' và '6' vào danh sách1 dưới dạng các yếu tố riêng lẻ. list1.Append (['5', '6']) thêm danh sách ['5', '6'] vào danh sách1 dưới dạng một phần tử duy nhất.

Đã trả lời ngày 7 tháng 4 năm 2009 lúc 15:24Apr 7, 2009 at 15:24

Chris UpChurchchris UpeclChris Upchurch

15.1k6 Huy hiệu vàng50 Huy hiệu bạc66 Huy hiệu Đồng6 gold badges50 silver badges66 bronze badges

Hành vi phản hồi được đề cập trong các câu trả lời khác không quan trọng trong một số trường hợp nhất định:

alist = [4, 2, 8, 6, 5]
alist = alist + 999
print(alist)
9

Đó là bởi vì sự phân công tăng cường luôn luôn phản hồi, ngay cả khi đối tượng bị đột biến tại chỗ. Việc phục hồi ở đây là

>>> import dis
>>> dis.dis(compile("s = []; s.append('spam')", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_ATTR                1 (append)
             12 LOAD_CONST               0 ('spam')
             15 CALL_FUNCTION            1
             18 POP_TOP
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
>>> dis.dis(compile("s = []; s += ['spam']", '', 'exec'))
  1           0 BUILD_LIST               0
              3 STORE_NAME               0 (s)
              6 LOAD_NAME                0 (s)
              9 LOAD_CONST               0 ('spam')
             12 BUILD_LIST               1
             15 INPLACE_ADD
             16 STORE_NAME               0 (s)
             19 LOAD_CONST               1 (None)
             22 RETURN_VALUE
7, không hoạt động cho các bộ dữ liệu.

Đã trả lời ngày 14 tháng 3 năm 2012 lúc 1:03Mar 14, 2012 at 1:03

Hướng dẫn what is the difference between append and concatenate in python? - sự khác biệt giữa append và concatenate trong python là gì?

Phục hồi Monicareinstate MonicaReinstate Monica

4.4881 Huy hiệu vàng23 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge23 silver badges35 bronze badges

"+" không làm thay đổi danh sáchdoes not mutate the list

.append () đột biến danh sách cũmutates the old list

Đã trả lời ngày 5 tháng 4 năm 2020 lúc 17:56Apr 5, 2020 at 17:56

Hướng dẫn what is the difference between append and concatenate in python? - sự khác biệt giữa append và concatenate trong python là gì?

AndresandresAndres

6612 Huy hiệu vàng7 Huy hiệu bạc18 Huy hiệu đồng2 gold badges7 silver badges18 bronze badges

Tính đến hôm nay và Python 3.6, kết quả được cung cấp bởi @Constantine không còn giống nhau.

some_list1 = []
some_list1.append("something")
0

Có vẻ như

some_list2 = []
some_list2 += ["something"]
0 và
some_list2 = []
some_list2 += ["something"]
1 hiện có hiệu suất bằng nhau, trong khi sự khác biệt của tổng hợp hoàn toàn không thay đổi:

some_list1 = []
some_list1.append("something")
1

Đã trả lời ngày 1 tháng 10 năm 2020 lúc 8:25Oct 1, 2020 at 8:25

Hãy lấy một ví dụ đầu tiên

some_list1 = []
some_list1.append("something")
2

Đã trả lời ngày 3 tháng 9 năm 2018 lúc 13:48Sep 3, 2018 at 13:48

Hướng dẫn what is the difference between append and concatenate in python? - sự khác biệt giữa append và concatenate trong python là gì?

Avnish Nishadavnish NishadAvnish Nishad

1.4281 Huy hiệu vàng14 Huy hiệu bạc18 Huy hiệu đồng1 gold badge14 silver badges18 bronze badges

Phương thức append () thêm một mục duy nhất vào danh sách hiện có

some_list1 = []
some_list1.append("something")

Vì vậy, ở đây một số_list1 sẽ được sửa đổi.

Updated:

Trong khi việc sử dụng + để kết hợp các phần tử của danh sách (nhiều hơn một phần tử) trong danh sách hiện có tương tự như mở rộng (như được sửa bởi thông lượng).

some_list2 = []
some_list2 += ["something"]

Vì vậy, ở đây một số_list2 và ["cái gì đó"] là hai danh sách được kết hợp.

Đã trả lời ngày 15 tháng 4 năm 2019 lúc 10:12Apr 15, 2019 at 10:12

1

Sự khác biệt giữa Concat và phần phụ trong gấu trúc là gì?

Nếu bạn chỉ kết nối hai đối tượng, bạn có thể thích sử dụng DataFrame.Ngược lại, các tham số trục của gấu trúc.Concat có thể liên quan mơ hồ về mặt trực quan đến việc bạn thực sự đang thêm các dòng hoặc cột. append as it is more visible that you are concatenating vertically. In contrast, axis parameters of Pandas. concat may be visually ambiguous related to whether you are actually adding lines or columns.

Sự khác biệt giữa phụ lục với danh sách và cách ghép với danh sách là gì?

append () thêm các yếu tố mới làm danh sách khác, bằng cách nối thêm đối tượng vào cuối.Để thực sự kết hợp (thêm) danh sách với nhau và kết hợp tất cả các mục từ danh sách này sang danh sách khác, bạn cần sử dụng phương thức .Extend ().To actually concatenate (add) lists together, and combine all items from one list to another, you need to use the . extend() method.

Expend () làm gì trong Python?

Các .Phương thức nối () lấy một đối tượng làm đối số và thêm nó vào cuối danh sách hiện có.takes an object as an argument and adds it to the end of an existing list.

Sự khác biệt giữa phụ lục và mở rộng trong Python là gì?

append () thêm một phần tử vào cuối danh sách trong khi .extend () có thể thêm nhiều phần tử riêng lẻ vào cuối danh sách. extend() can add multiple individual elements to the end of the list.