Language/Python

TIL-파이썬(Python)-기초 내장 함수(set, dictionary, for , while)

청렴결백한 만능 재주꾼 2020. 4. 23. 11:47
반응형

Set

리스트를 set()으로 덮어씌우면 중복요소 사라짐.

 

Dictionary

BTS_JM = {"가명":"지민","본명":"박지민"}

Dic_Name[Key_Name] 

-->> Value

Key 는 중복 될 수 없음.

중복된다면 나중에 추가된 값으로 Value가 치환됨.

 

Key 있나 찾기

'key' in dictionary_name

 

Key 확인하기

Dictionary_name.keys()

 

Value 확인하기

Dictionary_name.values()

 

둘 다 확인하기

Dictionary_name.items()

 

복사하기

Dictionary_name.copy()
*주의사항*

복사하고 붙여넣기가 되는 것이 아니고 shortcut을 만들었다고 생각하면 편하다. 본체 수정시 복사체도 수정됨.

 

두 딕셔너리 합치기 (Merge dictionary)

dictionary_name.update(the_other_dictionary_name)

 

For loops

Break

Continue

Nested For Loops

 

While Loops

Break

Continue

While Else

 

Looping Dictionary

 

이 문제에서 

def get_occurrence_count(my_list):
  # 이 함수를 구현 해주세요
    
    dic = {}
    for key in my_list:
        if key in dic:
            dic[key]= dic[key]+1
        else:
            dic[key] = 1
    return dic

이렇게 제출하였다.

 

Complex Dictionary

List of Dictionaries

Nested Dictionary

bts = [

"RM":

{

"실명" : "김남준",

"가명" : "RM",

"생년월일" : "1994년 9월 12일",

"출생지" : "대한민국 서울특별시 동작구 상도동",

"학력" : "글로벌사이버대학교 방송연예학과",

"포지션" : "리더 · 메인 래퍼"

},

이런식으로..

 


 

Assignment

다음은 우리나라 K리그 1부의 축구팀 정보입니다.

Parameter로 주어진 축구팀의 다음 정보들을 dictionary로 리턴해주세요.

 

  • 구단

  • 연고지

  • 리그참가

  • 주 경기장

 

예를 들어, input으로 "강원 FC"가 주어지면 다음과 같은 dictionary가 리턴 되어야 합니다.

 

{

"구단": "강원 FC",

"리그참가": 2009,

"연고지": "강원도(춘천시)",

"주 경기장": "춘천송암레포츠타운"

}

 

아래 정보는 https://bit.ly/2Uet5g3 에서도 확인할 수 있습니다.


위의 과제를 끝내었다.

 

More Complex Function Parameters

Handling unknown number of arguments

몇 개의 매개변수가 올지 모를때에. Dictionary를 매개변수(Parameter)로 받아서 사용하면 됨.

def buy_A_car(options):

    print(f"다음 사양의 자동차를 구입하십니다:")

 

    for option in options:

        print(f"{option} : {options[option]}")

 

options = {"seat" : "가죽", "blackbox" : "최신"}

 

buy_A_car(options)

---------------------------------

> 다음 사양의 자동차를 구입하십니다:

seat : 가죽

blackbox : 최신

---------------------------------

Keyworded variable length of arguments

**options

  • Argument 수를 0부터 N까지 유동적으로 넘겨줄 수 있습니다.

  • Keyword가 미리 정해져 있지 않기때문에 원하는 keyword를 유동적으로 사용할 수 있습니다.

  • Keyworded variable length of arguments는 dictionary 형태로 지정됩니다

KeyWorded variable length of ARGumentS (대문자들이 모여서)

--> **kwargs

 

Non-keyworded variable length of arguments

Can be called Variable length of arguments or Variable arguments.

-->> *args

Function takes number as tuple.

 

Mixing args and kwargs


Variable arguments와 keyworded variable arguments 둘다 사용하여 함수를 정의할 수 도 있습니다.

다음 처럼 말이죠:

 

def do_something(*args, **kwargs):

## some code here...

....

 

그렇다면 왜 둘다 사용할까요?

둘다 사용하면 어떠한 형태와 수의 argument도 허용 가능한 함수가 됩니다.

즉, parameter에 있어서 굉장히 유동적인 함수가 되는것입니다.


 

반응형