wbtтот же, да
это для python 3? или это какой-то особый reduce?
правильнее вообще так было бы
reduce(add, a, [])
wbtтот же, да
это для python 3? или это какой-то особый reduce?
reduce(add, a, [])
sergeekЭто работает только для списка списков челых чисел, и никак иначе:
вроде ок все
In [1]: a = ['test', (1, 2), [4, 5]] In [2]: sum(a, []) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/s0rg/develop/python/modules/<ipython-input-2-8e9b14e84b21> in <module>() ----> 1 sum(a, []) TypeError: can only concatenate list (not "str") to list In [3]: a = [10, (1, 2), [4, 5]] In [4]: sum(a, []) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/s0rg/develop/python/modules/<ipython-input-4-8e9b14e84b21> in <module>() ----> 1 sum(a, []) TypeError: can only concatenate list (not "int") to list In [5]: a = [(1, 2), [4, 5]] In [6]: sum(a, []) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/s0rg/develop/python/modules/<ipython-input-6-8e9b14e84b21> in <module>() ----> 1 sum(a, []) TypeError: can only concatenate list (not "tuple") to list
class myd(dict): def __add__(self,data): return myd(self.items()+data.items()) a = [ myd(a=1,b=2,c=3) , myd(d=4,x=5), myd(a=5,c=10)] print sum(a,myd())
{'a': 5, 'x': 5, 'c': 10, 'b': 2, 'd': 4}a = [['test'], [1, 2], [4, 5]] sum(a, [])
['test', 1, 2, 4, 5]
a = [('te','st'),('tu','ple')] sum (a,tuple()) # ('te', 'st', 'tu', 'ple')