0
가능한 중복 :
“Least Astonishment” in Python: The Mutable Default ArgumentPython 2.7의 버그 또는 오해?
내가 여기서 뭔가를 놓치고 또는이 정말 버그? 다음은 튜플 스펙에서 다차원리스트를 생성하는 재귀 함수입니다 (예 :).
dim((2,3))
returns
[[[],[],[]],[[],[],[]]]
유일한 문제점은리스트마다 I 기본 파라미터없이 호출하면 I 희미 같은 기본 파라미터 지정하면 I가, 호출 추가하는 것이다 ((2,3), []) , 그럼 괜찮아. 각 호출의 기본 매개 변수 상태를 저장합니다! 내가하는 일에 아무도 문제가 없다면 Python 버그 리포터에 입력 할 것입니다.
cdr = lambda l : l[1:]
car = lambda l : l[0]
last = lambda x : x[-1:][0]
def dim(t, c = []):
if len(t) > 0:
i = car(t)
for j in range(i):
c.append([])
dim(cdr(t), last(c))
return c
print dim([2,3])
print dim([2,3])
print dim([2,3])
print dim([2,3])
정확히. 그러나 단발음 (singlepick)과 비교할 때''is ''가 가장 좋습니다. 물론''None '/'c = None/c/None 인 경우. – delnan