반응형
내 코드는 다음과 같습니다.
N = namedtuple("N", ['ind', 'set', 'v'])
def solve()
items=[]
stack=[]
R = set(range(0,8))
for i in range(0,8):
items.append(N(i,R,8))
stack.append(N(0,R-set(range(0,1)),i))
while(len(stack)>0):
node = stack.pop()
print node
print items[node.ind]
items[node.ind].v = node.v
마지막 줄에서 원하는대로 items [node.ind] .v
값을 node.v
로 설정할 수 없으며 오류가 발생합니다.
"AttributeError: can't set attribute"
나는 무엇이 잘못되었는지 모르겠지만 node.v + = 1
과 같은 문을 사용하면 동일한 오류가 표시되므로 구문을 기반으로해야합니다. 저는 Python을 처음 사용하므로 위의 변경을 가능하게하는 방법을 제안하십시오.
해결 방법
items[node.ind] = items[node.ind]._replace(v=node.v)
(참고 : _replace 함수의 선행 밑줄 때문에이 솔루션을 사용하지 마십시오. 특히 namedtuple의 경우 일부 함수에는 "비공개"임을 나타 내기위한 것이 아닌 선행 밑줄이 있습니다.)
참조 페이지 https://stackoverflow.com/questions/22562425
반응형
'파이썬' 카테고리의 다른 글
파이썬 PyQt에서 사용자 정의 위젯에 스타일 시트를 적용하는 방법 (0) | 2020.12.18 |
---|---|
파이썬 Python에서 PDF 파일을 만드는 방법 (0) | 2020.12.18 |
파이썬 Python의 기본 인코딩을 변경 하시겠습니까? (0) | 2020.12.18 |
파이썬 Python TypeError : / : 'NoneType'및 'float'에 대해 지원되지 않는 피연산자 유형 (0) | 2020.12.18 |
파이썬 NLTK 불용어 목록 (0) | 2020.12.18 |
댓글