STUDY/Python

파이썬 셋, 딕셔너리

sinawi95 2021. 1. 3. 11:31
728x90

내림차순 정렬

#아래의 상품 딕셔너리 데이터를 가격에 따라 내림차순으로 정렬하는 프로그램을 작성하십시오.
prd={"TV": 2000000,"냉장고": 1500000,"책상": 350000,"노트북": 1200000,"가스레인지": 200000,"세탁기": 1000000 }
prd=sorted(prd.items(), key=lambda x:x[1], reverse=True)
print(prd) 
#튜플형식으로 반환
#[('TV', 2000000), ('냉장고', 1500000), ('노트북', 1200000), ('세탁기', 1000000), ('책상', 350000), ('가스레인지', 200000)]

for key, value in sorted(prd.items(), key=lambda x:x[1], reverse=True):
    print(key, ":", value)

딕셔너리, 셋: 셋형식을 몰라서 꽤 해맸다

#다음 두 딕셔너리 객체를 합쳐 중복된 메뉴가 없는 딕셔너리를 만들고
a = {'아메리카노': 1900, '카페모카': 3300, '에스프레소': 1900, '카페라떼': 2500, '카푸치노': 2500, '바닐라라떼': 2900}
b = {'헤이즐럿라떼': 2900, '카페모카': 3300, '밀크커피': 3300, '아메리카노': 1900, '샷크린티라떼': 3300}

#중복된 메뉴의 가격이 다를 경우 딕셔너리 a의 가격을 사용하세요.
#1
'''
menu=a #중복메뉴가 아닌것만 추가
for key, value in b.items(): # for k,v in b로 하면 안됨, b.items()로 만들어야 가능
    if not key in a:    #if not a.get(key): #a[key]는 오류를 반환, 
        menu[key]= value'''
#2
menu={}
menu.update(b) #키가 동일할때 기존 항목이 변경됨
menu.update(a)	#a를 뒤에 둬서 중복메뉴의 경우 a 사용

#가격이 3000원 이상인 메뉴를 아래와 같이 출력하는 프로그램을 작성하십시오. set형식
result = set(filter(lambda item: item[1] >= 3000, b.items()))
print(result)

 

문자열의 공백 제거

a.strip()  #양쪽 공백 제거
b.lstrip() #왼쪽 공백 제거
c.rstrip() #오른쪽 공백 제거

리스트를 문자열로 합치기

st=input().split()[::-1] #st=['tomorrow', 'better', 'A']
st1=' '.join(st)         #st1='tomorrow better A'
print(st1)