본문 바로가기

Programming86

Python 객체 목록을 섞기 [중복], Shuffling a list of objects [duplicate] 질문 객체 목록을 섞는 방법은 무엇인가요? random.shuffle를 시도해보았지만: import random b = [object(), object()] print(random.shuffle(b)) 다음과 같이 출력됩니다: None 답변 random.shuffle은 작동해야합니다. 여기에는 객체가 목록 인 예제가 있습니다. from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x) # print(x) gives [[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]] shuffle이 in place에서 작동하고 None을 반환한다는 것에 유의하십시오. 일반적으로 Python에서 가변 객체는 .. 2023. 6. 10.
Python 현재 디렉토리의 모든 하위 디렉토리 목록 가져오기, Getting a list of all subdirectories in the current directory 질문 Python에서 현재 디렉토리의 모든 하위 디렉토리 목록을 반환하는 방법이 있나요? 파일로는 이것을 할 수 있다는 것을 알고 있지만, 대신 디렉토리 목록을 얻어야 합니다. 답변 당신이 말하는 것은 즉시 하위 디렉토리를 의미하는 것인가, 아니면 트리 아래 모든 디렉토리를 의미하는 것인가요? 어떤 방식이든, 이를 수행하기 위해 os.walk를 사용할 수 있습니다: os.walk(directory) 각 하위 디렉토리에 대해 튜플을 생성합니다. 3-tuple의 첫 번째 항목은 디렉토리 이름입니다. 따라서 [x[0] for x in os.walk(directory)] 은 재귀적으로 모든 하위 디렉토리를 알려줍니다. 튜플의 두 번째 항목이 첫 번째 위치의 엔트리의 하위 디렉토리 목록이기 때문에 대신 이것을 사.. 2023. 6. 10.
Python 사전에서 값으로 키 가져오기, Get key by value in dictionary 질문 나는 Dictionary에서 나이를 찾아 일치하는 이름을 보여줄 함수를 만들었다: dictionary = {'george' : 16, 'amber' : 19} search_age = raw_input("나이를 입력하세요") for age in dictionary.values(): if age == search_age: name = dictionary[age] print name 나는 비교하고 나이를 찾는 방법을 알고 있지만, 그 사람의 이름을 표시하는 방법을 모르겠다. 또한, 5번째 줄 때문에 KeyError가 발생한다. 이것이 올바르지 않다는 것을 알고 있지만, 역으로 검색하는 방법을 찾을 수 없다. 답변 mydict = {'george': 16, 'amber': 19} print mydict.k.. 2023. 6. 9.
Python 예외를 적절하게 무시하는 방법, How to properly ignore exceptions 질문 Python에서 예외 처리를 처리하지 않고 try-except를 수행하려면 어떻게해야합니까? 다음이 올바른 방법인가요? try: shutil.rmtree(path) except: pass 답변 try: doSomething() except Exception: pass 또는 try: doSomething() except: pass 차이점은 두 번째 방법은 직접적으로 BaseException에서 파생된 KeyboardInterrupt, SystemExit와 같은 것도 잡을 수 있다는 것입니다. 자세한 내용은 문서를 참조하십시오: try문 예외 하지만 모든 오류를 잡는 것은 일반적으로 좋은 방법이 아닙니다. "except: pass"가 나쁜 프로그래밍 관행인 이유를 참조하십시오. 2023. 6. 7.