> 백엔드 개발 > 파이썬 튜토리얼 > 생명을 구하는 다섯 가지 Python 팁

생명을 구하는 다섯 가지 Python 팁

WBOY
풀어 주다: 2023-04-12 21:19:09
앞으로
1385명이 탐색했습니다.

생명을 구하는 다섯 가지 Python 팁

Python은 간결하고 우아한 구문을 갖춘 강력하고 사용하기 쉬운 언어입니다. Java만큼 번거롭고 난해하지 않으며, 코드를 더 짧고 간결하게 만들 수 있는 몇 가지 특수 함수나 구문이 있습니다.

저자의 경험을 바탕으로 일반적으로 사용되는 5가지 Python 팁은 다음과 같습니다.

  • 문자열 작업
  • 목록 파생
  • lambda 및 map() 함수
  • if, elif 및 기타 한 줄 표현식
  • zip() 함수

생명을 구하는 다섯 가지 Python 팁

1. 문자열 연산(https://jq../?_wv=1027&k=UEbz4NcQ)

Python은 수학 연산자(예: + 및 *)를 사용하여 문자열에 대해 연산을 수행하는 데 능숙합니다. 문자열 - * 문자열 반복

my_string = "Hi Python..!"print(my_string * 2)#Hi Python..!Hi Python..!print(my_string + " I love Python" * 2)#Hi Python..! I love Python I love Python
로그인 후 복사

또한 슬라이스 연산 [::-1]을 사용하여 쉽게 문자열을 뒤집을 수 있으며 이는 목록 뒤집기와 같은 문자열에만 국한되지 않습니다!

my_string = "Hi Python..!"print(my_string[::-1])# !..nohtyP iHmy_list = [1,2,3,4,5]
print(my_list[::-1])# [5, 4, 3, 2, 1]
로그인 후 복사

다음은 반전되어 문자열로 연결된 단어 목록입니다.

word_list = ["awesome", "is", "this"]print(' '.join(word_list[::-1]) + '!')
#this is awesome!
로그인 후 복사

.join() 메서드 ''(공백)를 사용하여 반전된 목록의 모든 단어를 연결하고 느낌표를 추가하세요!.

2. 목록 파생 (https://jq../?_wv=1027&k=UEbz4NcQ)

생명을 구하는 다섯 가지 Python 팁

세계관을 바꿀 수 있는 기술, 목록 파생! 이는 목록에 대한 빠른 작업을 수행하는 매우 강력하고 직관적이며 읽기 쉬운 방법입니다. 또한, 공식 계정 상단 파이썬 배경을 검색해 "사물 인터넷"이라고 답하시면 깜짝 선물 패키지를 받아가실 수 있습니다.

숫자의 제곱을 반환하고 5:

def stupid_func(x):
 return x**2 + 5
로그인 후 복사

를 더하는 임의의 함수가 있다고 가정해 보겠습니다. 이제 목록 파생을 사용하지 않고 목록의 모든 홀수에 stully_func() 함수를 적용하려면 , 어리석은 방법은 다음과 같습니다.

def stupid_func(x):
 return x**2 + 5my_list = [1, 2, 3, 4, 5]
new_list = []for x in my_list: if x % 2 != 0:
new_list.append(stupid_func(x))
print(new_list)#[6, 14, 30]
로그인 후 복사

목록 파생을 사용하면 코드가 즉시 우아해집니다.

def stupid_func(x):
 return x**2 + 5my_list = [1, 2, 3, 4, 5]
print([stupid_func(x) for x in my_list if x % 2 != 0])#[6, 14, 30]
로그인 후 복사

목록 파생의 구문: [목록의 항목에 대한 표현식] 위의 "홀수" 조건([조건부인 경우 목록의 항목에 대한 표현])과 같은 판단 조건을 추가할 수도 있습니다. 기본적으로 다음 코드의 기능은 다음과 같습니다.

for item in list:
if conditional:
expression
로그인 후 복사

아주 멋지네요! . 하지만 한 단계 더 나아가 stuid_func() 함수를 직접 생략할 수도 있습니다.

my_list = [1, 2, 3, 4, 5]print([x ** 2 + 5 for x in my_list if x % 2 != 0])#[6, 14, 30]
로그인 후 복사

3. Lambda & Map 함수(https://jq../?_wv=1027&k=UEbz4NcQ)

Lambda는 조금 이상해 보이지만 이상한 기능은 일반적으로 매우 강력하며 일단 숙달하면 매우 직관적이고 말도 안되는 코드를 많이 절약할 수 있습니다.

기본적으로 Lambda 함수는 작은 익명 함수입니다. 왜 익명인가요?

Lambda는 간단한 작업을 수행하는 데 가장 자주 사용되지만 def my_function()만큼 심각할 필요는 없기 때문에 Lambda는 캐주얼 함수라고도 합니다(가짜 함수, 무시하세요).

위의 예를 개선하세요. def dumb_func(x)는 한 줄짜리 Lambda 함수로 대체될 수 있습니다.

stupid_func = (lambda x : x ** 2 + 5)
print([stupid_func(1), stupid_func(3), stupid_func(5)])#[6, 14, 30]
로그인 후 복사

그렇다면 왜 이 이상한 구문을 사용할까요? 이는 실제 기능을 정의하지 않고 몇 가지 간단한 작업을 수행하려는 경우 유용합니다.

숫자 목록을 예로 들어보세요. 목록이 정렬되어 있다고 가정해 볼까요? 한 가지 방법은 sorted() 메서드를 사용하는 것입니다.

my_list = [2, 1, 0, -1, -2]
print(sorted(my_list))#[-2, -1, 0, 1, 2]
로그인 후 복사

sorted() 함수를 사용하면 정렬을 완료할 수 있지만 각 숫자의 제곱으로 정렬하려면 어떻게 해야 할까요? 이때 람다 함수를 사용하여 정렬 키 키를 정의할 수 있으며, 이는 정렬 방법을 결정하기 위해 sorted() 메서드에서도 사용됩니다.

my_list = [2, 1, 0, -1, -2]
print(sorted(my_list, key = lambda x : x ** 2))#[0, -1, 1, -2, 2]
로그인 후 복사

Map 함수

map은 Python에 내장된 함수로, 제공된 기능에 따라 지정된 시퀀스를 매핑합니다. 목록이 있고 목록의 각 요소를 다른 목록의 해당 요소와 곱하고 싶다고 가정해 보겠습니다. 람다 함수와 맵을 사용해보세요!

print(list(map(lambda x, y : x * y, [1, 2, 3], [4, 5, 6])))
#[4, 10, 18]
로그인 후 복사

이 일반적인 무의미한 코드와 달리 간단하고 우아합니다.

x, y = [1, 2, 3], [4, 5, 6]
z = []for i in range(len(x)):
 z.append(x[i] * y[i])print(z)
#[4, 10, 18]
로그인 후 복사

생명을 구하는 다섯 가지 Python 팁

4.if-else 한 줄 표현 (https://jq.com/?_wv=1027&k=UEbz4NcQ)

코드 어딘가에 , 다음과 같은 말도 안되는 조건문이 있을 수 있습니다:

x = int(input())if x >= 10:print("Horse")
elif 1 < x < 10:print("Duck")else:print("Baguette")
로그인 후 복사

프로그램을 실행하면 input() 함수에서 5를 입력하는 것과 같은 정보의 일부를 입력하라는 메시지가 표시되고 Duck을 얻습니다. 하지만 실제로는 한 줄의 코드로 모든 것을 완료할 수도 있습니다.

print("Horse" if x >= 10 else "Duck" if 1 < x < 10 else "Baguette")
로그인 후 복사

한 줄의 코드는 간단하고 간단합니다! 이전 코드를 살펴보면 많은 판단이 if-else 단일로 줄어들 수 있다는 것을 알 수 있습니다. - 라인 표현.

생명을 구하는 다섯 가지 Python 팁

5.zip() 함수 (https://jq..com/?_wv=1027&k=UEbz4NcQ)

map() 함수 부분에서 두 목록 요소의 비트별 곱셈을 기억하시나요?

zip()을 사용하면 더욱 쉬워집니다. 두 개의 목록이 있다고 가정합니다. 하나는 이름을 포함하고 다른 하나는 성을 포함합니다. 순서대로 병합하는 방법은 무엇입니까? zip()을 사용하세요!

first_names = ["Peter", "Christian", "Klaus"]
last_names = ["Jensen", "Smith", "Nistrup"]print([' '.join(x) for x in zip(first_names, last_names)])
#['Peter Jensen', 'Christian Smith', 'Klaus Nistrup']
로그인 후 복사

위에 나열된 5가지 빠른 팁이 여러분에게 유용하길 바랍니다.

위 내용은 생명을 구하는 다섯 가지 Python 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿