>  기사  >  백엔드 개발  >  Python의 내장 함수 공유

Python의 내장 함수 공유

黄舟
黄舟원래의
2017-07-18 13:20:441342검색

Python에는 일반적으로 초보자가 사용하지 않는 매우 스마트하고 강력한 내장 기능이 있습니다. 저는 Python을 한동안 사용하고 나서야 발견했습니다. 와, 이렇게 좋은 기능이 있다는 것을, 이 기능은 모두 클래식하고 엄격한 테스트를 거쳤습니다. 한 번에 많은 것을 절약할 수 있습니다. 코드는 간결하고 읽기 쉬울 뿐만 아니라 비공개로 코드를 작성할 필요도 없습니다. 이렇게 하면 코드가 쉬워질 뿐만 아니라 버그도 줄어듭니다. .

1.sorted()

1) 목록 정렬용

sorted([100, 98, 102, 1, 40])
>>>[1, 40, 98, 100, 102]

2) 주요 매개변수/함수를 통해

예를 들어 긴 목록에 사전 요소가 많이 중첩되어 있으므로 각각을 정렬해야 합니다. 길이 크기에 따른 요소 정렬

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
new_line=sorted(L,key=lambda x:len(x))
print(new_line)
>>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

3) 튜플로 구성된 목록을 정렬합니다

예를 들어 다음은 학생들의 나이 목록입니다

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)]   
print(sorted(students, key=lambda student : student[2]))  
>>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]

4) cmp 함수를 사용하여 정렬

students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)]   
print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) )
>>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]

실제로 Python의 정렬에 주의해야 합니다. 정렬 알고리즘에 대해 설명하려면 전체 기사가 필요합니다. 관심이 있으시면 소스 코드를 살펴보시면 됩니다.

2.map()

map은 지정된 시퀀스를 매핑하고 함수 f를 각 요소에 적용합니다. 그런 다음 지도 함수의 입력 매개변수인 새 목록을 반환합니다. 다중일 수도 ​​있습니다. 이 함수에는 반환 값이 있어야 합니다(값이 중요합니다. 세 번 말함). 그렇지 않으면 [None, None, None, None, None, None, None, None, None]

과 유사한 새 목록이 반환됩니다. 적합한 시나리오는 목록의 일부 요소에 반복 작업이 필요하다는 것입니다. , Map을 사용하면 쉽게 수행할 수 있습니다.

3.enumerate()

Python에서는

Iteration

이 항상 요소의 인덱스가 아닌 요소 자체를 가져옵니다. 긴 목록에는 일부 웹사이트 이름이 포함되어 있습니다. 인쇄할 때

색인 목록

을 추가해 보세요. 그러한 기능이 없으면 루프에서 인쇄할 때 변수를 추가하고 count 변수를 증가시켜야 합니다. 이제 열거를 사용하면 그런 문제를 겪을 필요 없이 직접 할 수 있습니다.

4.zip()

zip 이 함수는 임의 개수의 시퀀스(0과 1 포함)를 매개변수로 받아들이고 튜플 목록을 반환합니다

x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
>>print xyz

이 함수는 특히 사전 시퀀스를 작성할 때 매우 편리합니다(이 트릭은 매우 영리합니다. 조심스럽게 알아내세요

)

5.filter()

필터 함수는 함수 f와 리스트를 허용합니다. 이 함수 f의 기능은 각 요소를 판단하고 True 또는 False를 반환하는 것입니다. 조건을 충족하지 않는

일부

요소를 제거한 다음 정규화된 목록을 반환합니다.

def is_even(x):
	return x%2==0
print(filter(is_even,[1,2,3,4,5]))
>>>[2, 4]

특히 파일을 처리할 때 일부 공백, 캐리지 리턴 및 빈 문자를 제거해야 합니다

6.reduce() 축소 함수의 사용법은 map 함수와 매우 유사하지만 함수의 입력 매개변수는
two
여야 합니다. 또한 각 요소를 반복적으로 호출합니다. , 그리고 마지막으로 최종 값을 반환하고, map은 목록을 반환합니다. , 저는 독창성을 고집합니다. 제가 쓴 내용이 모든 사람에게 도움이 된다면

격려

,

전달

또는 팔로우 길게 눌러 QR 코드 전송 하는 것도 저에게 작은 응원이 됩니다.

위 내용은 Python의 내장 함수 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.