일상적인 문제에 대한 10+1 유용한 Python 코드 조각

여러분, 안녕하세요,

Python은 기계 학습, 데이터 과학 및 분석, 심지어 웹 개발에 가장 자주 사용되는 프로그래밍 언어입니다.

이 게시물은 일반적이고 일상적인 문제에 도움이 될 10 + 1 보너스 Python 코드 조각을 나열합니다. 또한 이 코드 조각은 한 줄에 불과합니다!

빠른 탐색을 위한 섹션은 다음과 같습니다.


  • Variable Swapping
  • Select a Random Element
  • Remove Duplicates in a List
  • Find All Indices of an Element in a List
  • Display the Current Date and Time in String Format
  • Filter a List
  • One Line Dictionary from List
  • String to Integer
  • Flatten a list

  • Load file in a list
  • Bonus

  • 1. 변수 스와핑



    우리가 매일 직면하는 가장 일반적인 문제 중 하나는 두 변수를 교환하는 방법입니다. 알고리즘과 데이터 구조는 두 변수를 교환하기 위해 세 번째 임시 변수가 필요하다는 것을 가르쳐 왔습니다. 그러나 이것은 Python에서 필요하지 않습니다.

    # Instead of this:
    tmp = var1
    var1 = var2
    var2 = tmp
    
    # We can do this:
    var1, var2 = var2, var1
    


    2. 무작위 요소 선택



    다음 코드 조각 yes는 라이브러리에 따라 다르지만 암호학적으로 안전한 임의 선택을 제공할 수 있으며 이에 대한 사용법은 단어 목록에서 암호를 생성하는 것입니다.

    import secrets
    res = secrets.choice(['cat', 'dog', 'horse', 'car'])
    


    참고: 비밀은 Python 3.6에 추가되었습니다. 이전 버전의 Python에서는 임의 라이브러리의 random.SystemRandom를 사용할 수 있습니다.

    3. 목록에서 중복 제거



    이 하나의 라이너는 요소의 순서가 중요하지 않을 때 목록에서 중복을 제거하는 데 사용됩니다.

    res = list(set([1,1,1,2,3,3,3]))
    


    4. 목록에서 요소의 모든 인덱스 찾기



    다음 스니펫은 목록 이해를 사용하여 .index() 에서 수행한 것처럼 첫 번째 항목만 반환하는 대신 검색 요소의 모든 인덱스를 반환합니다.

    lst = [1, 2, 3, 'Alice', 'Bob', 'Alice']
    res = [i for i in range(len(lst)) if lst[i]=='Alice']
    


    5. 현재 날짜와 시간을 문자열 형식으로 표시



    이 하나의 라이너는 datetime 라이브러리를 가져오고 현재 날짜와 시간을 가져와 문자열로 변환합니다. 이것은 사용자에게 표시되는 다양한 결과에 날짜와 시간을 통합하는 데 자주 사용할 수 있습니다.

    import datetime; res = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    


    6. 목록 필터링



    목록 이해는 목록을 필터링하는 Python 방식이 되었습니다. 다음은 코드 스니펫입니다.

    lst= [5,6,7,8,10,20,30]
    res = [i for i in lst if i > 10]
    


    7. 목록의 한 줄 사전



    다음 코드 조각은 목록 인덱스를 키로 사용하고 해당 요소를 값으로 사용하는 사전을 만듭니다.

    lst = ["a", "b", "c", "d"]
    res = dict(enumerate(lst))
    


    8. 문자열을 정수로


    map 메서드를 사용하여 숫자가 포함된 문자열 목록을 정수로 변환할 수 있습니다. 이것은 사용자로부터 입력을 문자열로 받아 정수로 변환해야 할 때 유용할 수 있습니다.

    lst = ["5", "6", "7", "8", "9"]
    res = list(map(int, lst))
    


    9. 목록 병합



    기계 학습 전문가와 데이터 과학자는 다차원 목록을 자주 다루며 이러한 데이터를 1차원으로 변환해야 할 수도 있습니다. 다음 한 줄짜리는 numpy 와 같은 라이브러리를 사용하지 않고 이 작업을 수행합니다.

    lst = [[1],[2],[3]]
    res = [item for sublist in lst for item in sublist]
    


    10. 목록에서 파일 로드



    다음 한 줄은 txt 파일을 읽고 각 줄을 목록의 새 요소로 추가합니다.

    lst = [line.strip() for line in open('input_file.txt', 'r')]
    


    보너스



    이 라이브러리는 개발 과정에서 많은 시간을 절약해 주며 작동하는 데 단 하나의 명령만 필요하기 때문에 여전히 단일 라이너로 분류될 수 있습니다.

    파이프렉



    이 라이브러리는 요구 사항 파일을 생성해야 할 때 유용합니다. 현재 프로젝트에서만 사용 중인 모든 가져오기 라이브러리 및 버전이 포함된 requirements.txt 파일을 자동으로 생성합니다.requirements.txt 파일을 생성하는 방법은 다음과 같습니다.

    pip install pipreqs
    pipreqs /path/to/project/location
    


    파이포레스트



    이 라이브러리를 사용하면 이전에 가져오지 않고도 즐겨찾는 모든 Python 라이브러리를 사용할 수 있습니다. 여기에는 pandas , matplotlib , seaborn , numpysklearn 와 같은 가장 인기 있는 Python 라이브러리가 포함되어 있습니다. 이 패키지의 가장 좋은 점은 라이브러리를 사용하지 않으면 가져오지 않는다는 것입니다.
    자신의 프로젝트에서 Pyforest를 사용하는 방법은 다음과 같습니다.

    pip install --upgrade pyforest
    python -m pyforest install_extensions
    


    그런 다음 프로젝트에 import pyforest를 추가하기만 하면 됩니다.

    그게 다야! 이 기사를 읽고 내용이 도움이 되었기를 바랍니다 😃.

    좋은 웹페이지 즐겨찾기