중복요소 개수 찾기
blood = [ 'A','A','O', 'B', 'A', 'O', 'AB','O', 'A', 'B', 'O', 'B', 'AB']
a=blood.count('A')
print(a) #4
중복요소 하나의 개수를 찾기 위해서는 count()를 이용한다.
모든 중복요소 개수찾기
1
blood = [ 'A','A','O', 'B', 'A', 'O', 'AB','O', 'A', 'B', 'O', 'B', 'AB']
count={}
for b in blood :
if b not in count.keys():
count[b] = 1
else :
count[b] +=1
print(count) #{'A': 4, 'O': 4, 'B': 3, 'AB': 2}
blood라는 리스트에 중복 요소가 존재하고, 중복요소의 개수를 찾아야 한다.
중복요소와 개수를 동시에 표현하기 위해 딕셔너리를 이용한다.
1. 빈 딕셔너리 count={} 생성
2. 리스트에서 for문으로 한 요소씩 가져와서 in이나 not in으로 딕셔너리에 해당하는 요소가 있으면 count를 1 더하고, 없으면 value를 1로 지정한다.
2
blood = [ 'A','A','O', 'B', 'A', 'O', 'AB','O', 'A', 'B', 'O', 'B', 'AB']
count={}
for b in blood :
count[b] = count.get(b,0)+1
print(count) #{'A': 4, 'O': 4, 'B': 3, 'AB': 2}
위의 내용을 이렇게 작성할 수 도 있다.
딕셔너리.get(키값, 기본값)으로 해당 키값은 value 기본값을 0으로 설정하고 value값을 1씩 더해준다.
3
blood = [ 'A','A','O', 'B', 'A', 'O', 'AB','O', 'A', 'B', 'O', 'B', 'AB']
count = {b: blood.count(b) for b in blood}
print(count) #{'A': 4, 'O': 4, 'B': 3, 'AB': 2}
count()를 이용해서 간편 표현식으로도 만들 수 있다.
중복 요소 제거하기
blood = [ 'A','A','O', 'B', 'A', 'O', 'AB','O', 'A', 'B', 'O', 'B', 'AB']
blood=list(set(blood))
print(blood) #['B', 'A', 'O', 'AB']
set은 중복을 허용하지 않기 때문에 set으로 바꾸었다가 다시 list로 바꾸면 중복 요소가 제거된 리스트가 된다.
'Language > Python' 카테고리의 다른 글
파이썬 Falsy / Truthy (0) | 2022.07.21 |
---|---|
파이썬 조건 표현식(Conditional Expression) (0) | 2022.07.21 |
논리연산자의 단축평가 (1) | 2022.07.19 |
파이썬 String Interpolation (문자열 보간) - %, format, f-strings (1) | 2022.07.19 |
파이썬 컨테이너 - 리스트, 튜플, 레인지, 세트, 딕셔너리 (1) | 2022.07.18 |