Python을 배우기 시작할 때 우리는 일반적으로 코드의 가독성과 코드의 단순성과 효율성에 초점을 맞추지 않고 작업을 완료하는 코드 작성을 우선시합니다.
정확히 말하면 완전히 괜찮지만 가독성을 무시하지 않고 Python 코드를 단축할 수 있는 방법이 있습니다. 한 줄의 Python 코드를 올바르게 사용할 수만 있다면 간결성과 가독성을 모두 얻을 수 있습니다!
다음은 Python을 배우는 학생이라면 꼭 알아야 할 9가지 한 줄 코드입니다~
if-else 문은 Python에서 가장 먼저 배우는 것 중 하나입니다. 주어진 조건의 참 또는 거짓 부분을 실행하는 데 사용되는 배치 문입니다.
우리는 이 명령문을 많이 사용하지만 단 한 줄의 코드로 줄일 수 있다는 것을 알고 계셨습니까? 많은 경우 if 문과 else 문을 같은 줄에 넣을 수 있습니다.
age = 18 valid = "You're an adult" invalid = "You're NOT an adult" print(valid) if age >= 18 else print(invalid)
목록은 데이터를 저장하는 일반적인 방법이지만 코드 한 줄만으로 기존 목록을 기반으로 새 목록을 만들 수 있다는 것을 알고 계셨나요?
맞습니다. 리스트 컴프리헨션이라고 하며 기존 목록의 값을 기반으로 목록을 생성하는 짧은 구문을 제공합니다. 리스트 컴프리헨션은 목록을 만드는 데 사용되는 함수와 루프보다 더 간결합니다.
구문은 다음과 같습니다.
[expression for item in list]
예를 살펴보겠습니다.
words = ['united states', 'brazil', 'united kingdom'] capitalized = [word.title() for word in words] >>> capitalized ['United States', 'Brazil', 'United Kingdom']
위의 코드가 더 보기 좋습니다! 하지만 코드를 사용자 친화적으로 유지해야 하므로 한 줄의 코드로 긴 목록 이해를 작성하는 것은 권장되지 않습니다.
리스트 파생과 비슷하게 파이썬에도 사전 파생이 있습니다. 사전 이해는 한 줄의 코드로 사전을 생성하기 위한 짧은 구문을 제공합니다.
다음은 구문입니다:
{key: value for key, value in iterable}
예:
dict_numbers = {x:x*x for x in range(1,6) } >>> dict_numbers {1: 1, 2: 4, 3: 9, 4: 16, 5:25}
사전을 병합하는 방법에는 여러 가지가 있으며, update() 메서드, merge() 연산자 또는 사전 공제를 사용할 수도 있습니다.
하지만 Python에서 사전을 병합하는 더 쉬운 방법이 있는데, 그것은 압축 풀기 연산자 **를 사용하는 것입니다. 결합하려는 각 사전 앞에 **를 추가하고 추가 사전을 사용하여 출력을 저장하기만 하면 됩니다.
dict_1 = {'a': 1, 'b': 2} dict_2 = {'c': 3, 'd': 4} merged_dict = {**dict_1, **dict_2} >>> merged_dict {'a': 1, 'b': 2, 'c': 3, 'd': 4}
** 연산자를 사전에 적용하면 둘 다 내용을 확장하고 병합하여 새 사전을 만듭니다.
때로는 목록에 중복 값이 없는지 확인해야 할 때가 있지만 쉽게 수행할 수 있는 방법은 없지만 set을 사용하여 중복 항목을 제거할 수 있습니다.
세트는 각 요소가 고유한 순서가 지정되지 않은 세트입니다. 즉, 목록을 세트로 바꾸면 중복 항목을 빠르게 제거할 수 있습니다. 그런 다음 집합을 다시 목록으로 변환하면 됩니다.
이를 이해하기 위한 기본 예를 살펴보겠습니다.
numbers = [1,1,1,2,2,3,4,5,6,7,7,8,9,9,9] >>> list(set(numbers)) [1, 2, 3, 4, 5, 6, 7, 8, 9]
여러 변수를 할당해야 할 때마다 Python에서는 한 줄에 할당할 수 있고 할당되지 않은 줄은 있습니다. 한 줄씩(다른 유형의 변수에서도)
a, b, c = 1, "abc",True >>> a 1 >>> b 'abc' >>> c True
간단하지만 변수를 많이 할당할수록 잘못된 값에 할당할 확률이 높아지는 점, 양날의 검~
이라고 가정해 보겠습니다. 목록에서 일부 값을 필터링하려면 여러 가지 방법이 있지만 가장 간단한 방법 중 하나는 filter() 함수를 사용하는 것입니다.
필터 함수의 구문은 다음과 같습니다.
filter(function, iterable)
필터 함수 안에 람다 함수를 추가하면 더 좋을 것 같아요!
목록에서 짝수를 필터링하여 살펴보겠습니다.
my_list = [10, 11, 12, 13, 14, 15] >>> list(filter(lambda x: x%2 == 0, my_list )) [10, 12, 14]
사전 정렬은 목록 정렬만큼 간단하지 않습니다. sort()를 사용할 수는 없습니다. 목록이나 sorted()를 사용하면 사전을 정렬합니다.
하지만 사전 이해와 sorted() 함수를 결합하여 키별로 사전을 정렬할 수 있습니다.
아래 예에서는 제품명별로 사전을 정렬해 보겠습니다.
product_prices = {'Z': 9.99, 'Y': 9.99, 'X': 9.99} >>{key:product_prices[key] for key in sorted(product_prices.keys())} {'X': 9.99, 'Y': 9.99, 'Z': 9.99}
사전을 키로 정렬하는 것과 유사하게, 사전을 값으로 정렬하려면 sorted() 함수와 List Comprehension을 사용해야 하지만 람다 함수도 추가해야 합니다.
먼저 sorted() 함수의 모든 매개변수를 살펴보겠습니다.
sorted(iterable, key=None, reverse=False)
사전을 값별로 정렬하려면 키 매개변수를 사용해야 합니다. 이 매개변수는 정렬 비교를 위한 키로 사용되는 함수를 허용합니다. 여기서는 람다 함수를 사용하여 작업을 더 간단하게 만들 수 있습니다.
인구 값이 포함된 사전이 있고 이를 값별로 정렬하고 싶다고 가정해 보겠습니다.
population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2} >>> sorted(population.items(), key=lambda x:x[1]) [('UK', 67.2), ('Brazil', 212.6), ('USA', 329.5)]
이제 남은 것은 사전 파생을 추가하는 것뿐입니다.
population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2} >>> {k:v for k, v in sorted(population.items(), key=lambda x:x[1])} {'UK': 67.2, 'Brazil': 212.6, 'USA': 329.5}
알겠습니다. 오늘 공유할 내용은 여기까지입니다.
위 내용은 당신이 알아야 할 파이썬의 9가지 한 줄 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!