티스토리 뷰
728x90
반응형
해당 내용은 programmers의 "파이썬을 파이썬답게"라는 강의를 보고 개인적인 공부를 위해 기록한 것입니다.
리스트의 요소 count 구하기
my_str = input().strip()
answer = []
max = 0
s1 = set(my_str)
for x in s1:
current = my_str.count(x)
if max < current :
max = current
answer = []
answer.append(x)
elif max == current :
answer.append(x)
answer.sort()
print(''.join(answer))
collections.Counter() 모듈 사용
import collections
answer = []
my_str = input().strip()
count = collections.Counter(my_str) # ex) Counter({'a': 3, 's': 3, 'd': 3, 'k': 2, 'l': 2, 'h': 1, 'j': 1})
max_value = max(list(count.values()))
for key in list(count.keys()):
if count[key] == max_value :
answer.append(key)
answer.sort()
print(''.join(answer))
추가적으로 lambda와 filter() 이용하기
import collections
my_str = input().strip()
dic = collections.Counter(list(my_str))
maximum = max(dic.values())
result = filter(lambda x:x[1] == maximum,dic.items()) # x[1] =tuple에서 value 값
answer = [key for key,value in result]
answer.sort()
print(''.join(answer))
filter 함수는 built-in 함수로 list 나 dictionary 같은 iterable 한 데이터를 특정 조건에 일치하는 값만 추출해 낼때 사용하는 함수이다.
출처: https://bluese05.tistory.com/66 [ㅍㅍㅋㄷ]
filter(func, iterable)의 형태로 func는 주로 lambda 형태로 작성하면 좋음
most_common은 입력된 값의 요소들 중 빈도수(frequency)가 높은 순으로 상위 nnn개를 리스트(list) 안의 투플(tuple) 형태로 반환한다. nn을 입력하지 않은 경우, 요소 전체를 [('값', 개수)]의 형태로 반환한다.
import collections
c2 = collections.Counter('apple, orange, grape')
print(c2.most_common())
print(c2.most_common(3))
'''
결과
[('a', 3), ('p', 3), ('e', 3), ('g', 2), (',', 2), ('r', 2), (' ', 2), ('n', 1), ('l', 1), ('o', 1)]
[('a', 3), ('p', 3), ('e', 3)]
출처: https://excelsior-cjh.tistory.com/94 [EXCELSIOR]
max 대신 이용할 수도 있음
728x90
반응형
'python' 카테고리의 다른 글
python Cookbook 이터레이터와 제너레이터 1 (0) | 2019.06.26 |
---|---|
python 태그와 임의 값 나누기, deque (0) | 2019.06.26 |
python product, list 붙이기 (0) | 2019.06.24 |
python lambda, reduce (0) | 2019.06.24 |
python *(Asterisk) 이용 , iterable (0) | 2019.06.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 운영체제 반효경
- 지옥에서 온 git
- Spring Data JPA
- 패킷 스위칭
- 스프링
- 스프링 테스트
- 쉽게 배우는 운영체제
- jsp
- Gradle
- git branch
- Thymeleaf
- 스프링 mvc
- 김영환
- git merge
- 파이썬 for Beginner 솔루션
- Computer_Networking_A_Top-Down_Approach
- Python Cookbook
- Spring Boot
- 프로그래머스
- 쉘 코드
- 파이썬 for Beginner 연습문제
- 생활코딩 javascript
- spring mvc
- Spring
- git
- JPA
- 스프링 컨테이너
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- 선형 회귀
- 방명록 프로젝트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함
반응형