Найти - Пользователи
Полная версия: flatten без extend
Начало » Python для новичков » flatten без extend
1 2
sergeek
wbt
это для python 3? или это какой-то особый reduce?
тот же, да
правильнее вообще так было бы
reduce(add, a, [])
s0rg
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
wbt
прикольная игрушка, познавательно покрутить, пока ещё не совсем понимаю, но разные конструкции собираю…

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}
wbt
 a = [['test'], [1, 2], [4, 5]]
sum(a, [])

['test', 1, 2, 4, 5]

я же выше пример написал


UPD:

a = [('te','st'),('tu','ple')]
sum (a,tuple())
# ('te', 'st', 'tu', 'ple')

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB