nodelist
오브젝트에 반복적으로 node
오브젝트가 있습니다. 임의의 조건 (예 : node.x > 17
)에 따라이 노드를 증가시켜야합니다. 여기에 내가 지금 뭘하는지입니다 : 람다 할당을 포함 할 수 없기 때문에for 루프 (파이썬)의 클리너 할당
for node in nodelist:
if node.x > 17:
node.x += 1
내가 map(lambda node: node.x += 1, nodelist)
할 수 없습니다. nodelist
개체가 자식 노드 이상으로 구성되어 있기 때문에 nodelist = [node.x + 1 for node in nodelist if...]
을 수행 할 수 없습니다.
더 짧고/깨끗하게 만들 수있는 방법이 있습니까?
? 그것은 나에게 꽤 똑바로 보인다. –
-1 : 어떻게 과제를 "더 깨끗하게"할 수 있습니까? 상태 변경은 절차 적 프로그래밍의 핵심입니다. 할당 문은 상태 변경을 가능한 한 명확하게 만듭니다. 할당 문과 같이 중요한 것은 거의 없습니다. 귀하의 모범은 중대하고 중대한 임무 지명을 어둡고 모호하게 만듭니다. –