for looping으로 list 내 중복 요소들을 dictionary 내에
key, value 조합으로 정리할 수 있으리라 생각했는데
for 안에서 어떻게 처리해야할지 싶어서
'python list 중복 개수' 라고 검색했더니 나온 블로그 ㅎㅎㅎㅎ
참고
예외처리할 때 사용되는 try, except를 사용할 수 있다.
for looping을 통해 list의 요소를 하나씩 꺼내어 새로운 dictionary 내에 넣는 것!
- 예제
: Input으로 주어진 list의 각 요소(element)가 해당 list에 몇번 나타나는지 수를 dictionary로 만들어서 리턴해주세요.
Dictionary의 key는 list의 요소 값이며 value는 해당 요소의 총 빈도수 입니다.
: 예를 들어, 다음과 같은 list가 input으로 주어졌다면:my_list = ["one", 2, 3, 2, "one"]
: 다음과 같은 dictionary가 리턴되어야 합니다.
{ "one" : 2, 2 : 2, 3: 1 }
- 풀이
def get_occurrence_count(my_list): new_list = {} for i in my_list: try: new_list[i] += 1 except: new_list[i] = 1 return(new_list)
- 예제
lists = [1,1,1,2,2,3,4,"abc"] cnt = lists.count(1) # 정수 1이 몇개인지 찾는다. ->> count("찾을 요소") print("%s은, %d개 있습니다." %(1, cnt)) - 결과값 >>>>>>>> 1은, 3개 있습니다.
- 예제
arr = ['but', 'i', 'wont', 'hesitate', 'no', 'more', 'no', 'more', 'it', 'cannot', 'wait', 'im', 'yours'] - arr = set(arr) # "arr"라는 리스트의 데이터 타입을 set으로 바꾼다. #set은 중복요소를 허용하지 않는 데이터형태이기 때문에, 중복요소들이 제거된다. arr = list(list3)
그냥 자료형 자체를 set 으로 바꾸어주면,
중복을 허용하지 않는 자료형태이기 때문에 중복 요소들이 제거된 상태가 된다.
다시 list 형으로 바꾸어주면 중복요소 사라져있음!