2017-12-23 3 views
1

임시 이름을 사용하는 대신 내용을 수정하는 경우 함수에서 동일한 변수 이름을 반복적으로 재사용하는 것이 Pythonic인지 궁금합니다.파이썬 변수 이름 사용

예 :

NAMES = ['abc def', 'ghi jkl', 'ghi jkl'] 

def clean_names(names): 
    names = [name.title() for name in names] # Put upper case for first letters 
    names = list(set(names)) # Remove duplicates 
    return names 

출력 : 그것은 왜 안 다음 수행 할 코드를 쉽게인지

['Ghi Jkl', 'Abc Def'] 

내 느낌입니다!

+0

그림자를 피하기를 원할 것입니다. 즉'clean_names' 안에'NAMES'을 사용합니다. 매개 변수로 전달되지 않는 한. – Skam

+8

리스트 comprehension에서'NAMES'를 사용한다면'names' 매개 변수의 핵심은 무엇입니까? – Barmar

+0

당신은 원하는 변수를 (거의) 이름 짓고 값을 재사용하고 바꿀 수 있습니다. @Barmar가 지적한대로 매개 변수 사용을 관찰합니다. –

답변

1

이에 비 파이썬이 아니다 당신이 데이터 세트를 변경하는 경우 변수 이름을 다시 사용하지만, 귀하의 경우에 당신은 당신이 변수를 재 할당하고 단지 return 문

를 사용하는 2 라인을 제거 할 수 있습니다
NAMES = ['abc def', 'ghi jkl', 'ghi jkl'] 

def clean_names(list_of_names): 
    names = [name.title() for name in list_of_names] 
    return list(set(names)) # Return a list without duplicates 
+1

'clean_names()'메소드로 전달되는 것으로 가정하고 있지만,이 경우에는 더미 데이터 ('abc def'는'.title()'을 포함하지 않을 것입니다.) – AK47

+0

그는 우리를 위해서 이것을 정리하기 위해 돌아 오길 바랍니다 – AK47

+0

물론입니다. 제 질문은 스타일에 관한 것입니다. 필자는 종종 코드를보다 읽기 쉽게 만드는 함수에 주어진 데이터 세트에 대한 다중 변경에 동일한 이름을 사용합니다. 변경 당 한 행. 감사 – denys