Hướng dẫn can only concatenate list (not int) to list python - chỉ có thể nối danh sách (không phải int) để liệt kê python

Danh sách có thể được nối với các danh sách khác. Điều này có nghĩa là bạn có thể thêm nội dung của một danh sách vào danh sách khác. Các giá trị với các loại dữ liệu khác, chẳng hạn như số nguyên, không thể được nối với danh sách.

Nếu bạn cố gắng kết hợp một số nguyên vào danh sách, trình thông dịch Python sẽ trả về một loại kiểu mẫu: chỉ có thể kết nối danh sách (không phải là Int Int) để liệt kê lỗi.

Hướng dẫn can only concatenate list (not int) to list python - chỉ có thể nối danh sách (không phải int) để liệt kê python

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

Trong hướng dẫn này, chúng tôi nói về ý nghĩa của lỗi này và cách thức hoạt động của nó. Chúng tôi đi qua một ví dụ để giúp bạn điều hướng khắc phục sự cố này trong mã của bạn.

TypeError: Chỉ có thể liệt kê danh sách Concatenate (không phải là Int Int) để liệt kê

Concatenation giúp dễ dàng thêm hai danh sách lại với nhau. Mặc dù bạn có thể sử dụng phương thức Extend () để thêm danh sách vào danh sách khác, việc kết hợp chỉ yêu cầu sử dụng một ký hiệu: dấu cộng (+).

Danh sách không phải là đối tượng duy nhất có thể được nối. Bất kỳ đối tượng có thể lặp lại, chẳng hạn như từ điển hoặc một tuple, đều có thể được nối.

Hai đối tượng của các loại dữ liệu khác nhau không thể được nối. Điều này có nghĩa là bạn không thể kết hợp một danh sách với từ điển hoặc số nguyên có danh sách.

Bạn gặp phải loại hình kiểu của người Viking: Chỉ có thể kết nối danh sách (không phải là Int Int) để liệt kê ra nếu bạn sử dụng kết nối để thêm một mục số nguyên duy nhất vào danh sách.

Một kịch bản ví dụ

Chúng tôi sẽ xây dựng một chương trình theo dõi số lượng đơn đặt hàng đã được đặt cho bánh sandwich cụ thể tại một quán cà phê vào thứ Sáu. Chúng tôi muốn lọc tất cả các loại bánh sandwich đã được đặt hàng hơn 75 lần để chúng tôi có thể thấy những gì bánh sandwich phổ biến nhất.

Chúng tôi bắt đầu bằng cách xác định hai danh sách: một danh sách các bánh sandwich và một danh sách chứa số lượng đơn đặt hàng được đặt cho mỗi bánh sandwich.

sandwiches = ["Egg and Cress", "Chicken Club", "Hummus and Tomato", "Cheese"]
orders = [54, 77, 22, 98]

Danh sách của chúng tôi được gán cho các biến số Sandwich Sandwiches và các đơn đặt hàng. Tiếp theo, chúng tôi xác định một danh sách theo dõi số chỉ mục của bánh sandwich đã được đặt hàng hơn 75 lần.

Hiện tại, những danh sách này trống rỗng. Điều này là do chúng tôi chưa tìm ra bánh sandwich nào đã được đặt hàng hơn 75 lần.

Tiếp theo, chúng tôi lặp lại danh sách bánh sandwich và đơn đặt hàng của chúng tôi để tìm ra bánh sandwich nào đã được đặt hàng hơn 75 lần. Chúng ta có thể làm điều này bằng cách sử dụng một vòng lặp:

for s in range(0, len(sandwiches)):
	if orders[s] > 75:
		orders_75 = orders_75 + s

Mã của chúng tôi các vòng lặp qua từng số trong phạm vi 0 và độ dài của danh sách bánh sandwich. Nếu giá trị tương ứng trong danh sách đơn đặt hàng của người dùng cho một chiếc bánh sandwich lớn hơn 75, chúng tôi sẽ thêm vị trí chỉ mục của bánh sandwich đó vào danh sách đơn đặt hàng trên mạng_75.

Tiếp theo, chúng tôi viết một vòng lặp cho in ra những chiếc bánh sandwich nào đã được đặt hàng hơn 75 lần để kiểm tra xem chương trình của chúng tôi có hoạt động không:

for o in orders_75:
	print(sandwiches[o])

Hãy cùng chạy mã Python của chúng tôi và xem điều gì sẽ xảy ra:

Traceback (most recent call last):
  File "main.py", line 9, in <module>
	orders_75 = orders_75 + s
TypeError: can only concatenate list (not "int") to list

Mã của chúng tôi trả về một lỗi.

Giải pháp

Hãy xem dòng mã được đề cập trong thông báo lỗi của chúng tôi:

	orders_75 = orders_75 + s

Chúng tôi đang cố gắng kết hợp một giá trị số nguyên vào danh sách của chúng tôi. Chúng ta không thể làm điều này bởi vì sự kết hợp chỉ hoạt động trên các đối tượng có thể lặp lại cùng loại dữ liệu.

Để giải quyết lỗi này, chúng tôi phải sử dụng phương thức append() để thêm một mục vào danh sách của chúng tôi. Phương pháp này được thiết kế đặc biệt để thêm các mục vào danh sách. Các mục có thể thuộc bất kỳ loại dữ liệu nào, chẳng hạn như từ điển, số nguyên hoặc số điểm nổi.

Thay đổi dòng mã đơn hàng của chúng tôi để sử dụng phương thức append():

Chúng tôi không cần phải gán bất kỳ giá trị nào cho các đơn đặt hàng của Google_75, vì phương thức append() thêm một mục vào danh sách tại chỗ. Hãy để thực hiện mã của chúng tôi:

Mã của chúng tôi in một danh sách các bánh sandwich đã được đặt hàng hơn 75 lần. Có hai chiếc bánh sandwich đáp ứng tiêu chí này: Câu lạc bộ gà và phô mai.

Sự kết luận

Kiểu mẫu của người dùng: Chỉ có thể kết hợp danh sách (không phải là Int Int) để liệt kê lỗi của Lỗi khi bạn cố gắng kết hợp một số nguyên vào danh sách.

Lỗi này được nêu ra vì chỉ có danh sách có thể được nối với danh sách. Để giải quyết lỗi này, hãy sử dụng phương thức append() để thêm một mục vào danh sách.

Bây giờ bạn đã sẵn sàng để giải quyết lỗi Python này như một chuyên gia!

Chỉ có thể kết nối danh sách không phạm vi để liệt kê Python?

Lỗi này được nêu ra vì chỉ có danh sách có thể được nối với danh sách. Để giải quyết lỗi này, hãy sử dụng phương thức append () để thêm một mục vào danh sách.use the append() method to add an item to a list.

Chỉ có thể kết nối danh sách không phải là danh sách?

Python "typeError: Chỉ có thể kết hợp tuple (không phải" danh sách ") để tăng" xảy ra khi chúng ta cố gắng kết hợp một tuple và một danh sách.Để giải quyết lỗi, hãy đảm bảo hai giá trị thuộc loại danh sách hoặc loại Tuple trước khi kết hợp chúng.make sure the two values are of type list or type tuple before concatenating them.

Tại sao Python không thể kết nối các đối tượng STR và INT?

Thất bại này xảy ra do toán tử concatenate (+) cho các chuỗi trong Python không biết cách kết hợp chuyển đổi các loại số thành chuỗi một cách ngầm.Có ba giải pháp đơn giản: chuyển đổi biến số nguyên thành một chuỗi trước khi kết nối.Sử dụng dấu phẩy trong câu lệnh in () để kết hợp.the concatenate operator (+) for strings in Python doesn't know how to comvert convert numeric types to strings implicitly. There are three straightforward solutions: Convert the integer variable to a string before concatenating. Use a comma in the print() statement to concatenate.

Danh sách Concatenate không phải là không phải là không?

Python "typeError: Chỉ có thể kết hợp danh sách (không" không phải là ") để liệt kê" xảy ra khi chúng ta cố gắng kết hợp một danh sách và giá trị không có.Để giải quyết lỗi, hãy sửa bài tập hoặc kiểm tra xem biến không lưu trữ giá trị không có trước khi kết nối.correct the assignment or check if the variable doesn't store a None value before concatenating.