python 진급 데이터 구조 및 알고리즘

2147 단어 python 진급
1.1 압축 해제 시퀀스 할당 개 변수
string 형식 이 교체 가능 한 대상 임 을 보증 하기 만 한다 면 아래 의 동작 을 사용 하여 모든 변 수 를 가 져 올 수 있 습 니 다.
>>>  string = (1, 2,  3, 4, 5,  6)
>>>  a, b, c, d, e = string
>>>  a
1

question 1: 일부분 을 풀 려 면 어떻게 해 야 하나 요?
>>>  _, c, d, e, f, _=a
>>>  _ 
5

주의해 야 할 것 은이런 자리 차지 문자 시,교 체 된 마지막 변수 만 을 대표 합 니 다.
1.2 압축 해제 대상 할당 변수
>>> record = ('name', 'age', 'gender)
>>> name, *args = record
>>> *args
['age', ''gender']

여기 서 주의해 야 할 것 은 * args 가 int 형식의 수 치 를 가리 키 면 sum, max, min 등 취 합 함 수 를 사용 할 수 있 습 니 다.
1.3 마지막 n 개 요소 유지
>>> from collections import deque
>>> qs = deque(maxlen=3)
>>> qs.append(1)
>>> qs.append(2)
>>> qs.append(3)
>>> qs
deque([1, 2, 3], maxlen=3)
>>> qs.append(5)
>>> qs
deque([2, 3, 5], maxlen=3)

1.4 최대 또는 최소 N 개의 요 소 를 찾 습 니 다.
>>> import heapq
>>> name = [1, 2, 3, 4, 5, 6, 7, 9, 8]
>>> print(heapq.nlargest(3, name))
[9, 8, 7]
>>> print(heapq.nsmallest(3, name))
[1, 2, 3]

여기 서 주의해 야 할 것 은 nlargest 는 가장 큰 수 치 를 추출 하고 목록 을 되 돌려 줍 니 다.nsmallestt 는 가장 작은 수 치 를 꺼 내 목록 을 되 돌려 줍 니 다.
#     --            ,key              
>>> params = [
	{'name': 'IBM', 'shares': 100, 'price': 91.1},
	{'name': 'AAPL', 'shares': 50, 'price': 543.22},
	{'name': 'FB', 'shares': 200, 'price': 21.09},
	{'name': 'HPQ', 'shares': 35, 'price': 31.75},
	{'name': 'YHOO', 'shares': 45, 'price': 16.35},
	{'name': 'ACME', 'shares': 75, 'price': 115.65}
]
>>> max_price = heapq.nlargest(1, params, key=lambda s: s['price'])
>>> max_price
[{'shares': 50, 'price': 543.22, 'name': 'AAPL'}]



좋은 웹페이지 즐겨찾기