Форум сайта python.su
0
Здравствуйте! Помогите разобраться в проблеме.
def f(a, L=[]): L.append(a) return L
>>> f(1) [1] >>> f(3) [1, 3] >>> f(5) [1, 3, 5]
def f(a, L=None): if L is None: L = [] L.append(a) return L
>>> f(3) [3] >>> f(5) [5] >>> f(7) [7]
Отредактировано pristavskiyk (Июнь 14, 2015 20:29:26)
Офлайн
103
Офлайн
568
def f(a, L=None): if L is None: L = [] L.append(a) return L
def f(a, l=None): l = l or [] l.append(a) return l
Офлайн
8
FishHook
ИМХО так будет чуть красивее
def f(a, l=None):
l = l or
l.append(a)
return l
def f(a, l=None or []): l.append(a) return l
Офлайн
857
Vigi
ну если уж совсем губы красить то так:def f(a, l=None or []): l.append(a) return l
>>> def f(a, l=None or []): ... l.append(a) ... return l ... >>> f(1) [1] >>> f(2) [1, 2] >>>
Офлайн
88
def fa(a, L=None): if L is None: L = [] L.append(a) return L def fb(a, l=None): l = l or [] l.append(a) return l l = [] print fa(1, l), l l = [] print fb(1, l), l
[1] [1]
[1] []
Отредактировано Shaman (Июнь 15, 2015 10:00:52)
Офлайн