Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách toán tử nối (+) làm việc trên list trong Python?


Toán tử + tạo list mới từ các list ban đầu theo thứ tự cộng. Không phải in-place.

Ví dụ

list1 = [1, 2, 3]
list2 = ['a', 'b']
list3 = list1 + list2
print(list3)  # [1, 2, 3, 'a', 'b']

Cách khác nối 2 list:

  • extend() – in-place: list1.extend(list2) sửa đổi list1.
  • Unpacking * (Python 3.5+): [*list1, *list2] tạo list mới.

Ví dụ extend

list1 = [1, 2, 3]
list2 = ['a', 'b']
list1.extend(list2)
print(list1)  # [1, 2, 3, 'a', 'b']

Ví dụ unpacking

list1 = [1, 2, 3]
list2 = ['a', 'b']
list3 = [*list1, *list2]
print(list3)  # [1, 2, 3, 'a', 'b']

Chọn cách nào? Cần giữ list gốc → + hoặc [*a, *b]; muốn in-place tiết kiệm RAM → extend().