estoy tratando de comprender el funcionamiento de la incorporada en el sum()
función, pero, el parámetro start
se ha evaporado mi mente:pitón función suma - `start` explicación parámetro requerido
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
Estoy estupefacto por esto y no tengo ni idea de lo que está sucediendo. Esto es lo que los documentos de Python tienen que decir: http://docs.python.org/library/functions.html#sum. Esto no da ninguna explicación sobre '¿y si el inicio no es una cadena y no un número entero?'
Utilizo el argumento 'start' solo para las sumas acumuladas y el tipo es solo' int'. No creo que esté destinado a casos tan patológicos :) – halex
Como se indica en los documentos: restrinja 'suma' a los números :-) tendrá menos dolores de cabeza. Haga algunas construcciones explícitas si tiene que concatenar listas anidadas; de todos modos, tendrá un código más fácil de mantener. – jsbueno