Tôi cố gắng để hiểu được hoạt động của các built-in sum()
chức năng, nhưng, các tham số start
đã bốc hơi tâm trí tôi:python sum chức năng - `start` tham số lời giải thích cần thiết
a=[[1, 20], [2, 3]] b=[[[[[[1], 2], 3], 4], 5], 6] >>> sum(b,a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate list (not "int") to list >>> sum(a,b) [[[[[[1], 2], 3], 4], 5], 6, 1, 20, 2, 3]
>>> a=[1,2] >>> b=[3,4] >>> sum(a,b) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate list (not "int") to list >>> sum(b,a) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate list (not "int") to list
Tôi chỉ bị chết lặng bởi điều này và không biết bất kỳ điều gì đang xảy ra. Đây là những gì các tài liệu python phải nói: http://docs.python.org/library/functions.html#sum. Điều này không đưa ra bất kỳ lời giải thích nào về 'điều gì sẽ xảy ra nếu bắt đầu không phải là một chuỗi và không phải là một số nguyên?'
Tôi sử dụng đối số 'bắt đầu' chỉ cho tổng tích luỹ và do đó, loại chỉ là' int'. Tôi không nghĩ rằng nó dành cho các trường hợp bệnh lý như vậy :) – halex
Như được biểu thị trên các tài liệu: hạn chế 'tổng hợp 'thành các số :-) bạn sẽ có ít đau đầu hơn. Thực hiện một vài cấu trúc tường minh nếu bạn phải nối các danh sách lồng nhau - dù sao thì bạn sẽ có mã duy trì được nhiều hơn. – jsbueno