ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Dictionary와 Formatting
    기술(Tech) 2023. 3. 26. 17:26
    반응형

    파이썬은 C, C++, Java에 비해 평균적으로 삼분의 일 이하의 개발 시간과, 코드의 라인 수도 C, C++, Java에 비해 대략 삼분의 일이고, Java의 절반 정도의 메모리 소모에, 전체 수행 속도는 C나 C++보다는 느리지만 Java보다 약간 빠른 정도를 보여줬다. (주목할 만한 사실은 스크립트 언어 중에서도 파이썬이 높은 성능을 보여줬다는 점이다)


    여기서 주지할 점은 바로 파이썬의 높은 생산성이다. 같은 시간 동안에 더 많은 코드를 만들 수 있으면서 동시에 전체 코드 길이는 짧다는 점은 파이썬의 대표적인 매력 중 하나이다. 파이썬 유저 그룹에서, C나 C++로 2주일 걸린 작업을 하루에 했다, 허무하다는 등의 이야기는 너무 흔해서 더 이상 뉴스거리조차 되지 못한다.

     

    하지만 파이썬 역시 하나의 도구일 뿐이고, 만병통치약은 되지 못한다. 파이썬은 자신이 잘 쓰일 수 있는 곳이 있고, C++나 자바 역시 그것들이 효율적일 수 있는 부분이 있다. 현명한 판단은 어느 상황에 어떤 도구를 선택하여 사용하느냐는 것이다. 수저로 바닥을 푸겠는가, 삽으로 밥을 먹겠는가.

     

    기초 연습

    • Dictionary 형과 List 형의 조합
    더보기

    people = [{'name':'bob','age':20},{'name':'carry','age':38}]

    # print(people[0]['name'])      -> 'bob'

    # print(people[1]['name'])      -> 'carry'

    person = {'name':'john','age':7}
    people.append(person)

     

    # print(people)      -> [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
    # print(people[2]['name'])      -> 'john'

    • python Dictionary
    • items함수?
    • 정의 :  (method) def items() -> dict_items[strint]

                     D.items() -> a set-like object providing a view on D's items

                    items
     

    key, value값을 추출

     

    ※ 사용 예제

    dict1= {
        "key1": 4,
        "key2": 5,
        "key3": 6,
        "key4": 7,
    }
    for key, value in dict1.items():
        print(f"{key}: {value}")

    • get 함수?

          정의 : 

    (method) def get(
    __key: str,
    __default: int | _T@get,
    /
    ) -> (int | _T@get)

     

    Return the value for key if key is in the dictionary, else default.

     

    해당 Key의 value 값 추출  

    ,defalut 옵션으로 error처리에 용이

    .

    ※ 사용 예제

    temp = dict1.get(key1,0)
    menus[menu_name
    반응형

     

    • 함수의 응용
    더보기

    def sum(a,b):
    return a+b

    def mul(a,b):
    return a*b

    result = sum(1,2) + mul(10,10)

    # result라는 변수의 값은?

     

    • 역순으로 출력하기
    더보기

    a = 'abcdefghijk'
    print(a[::-1])  ->  kjihgfedcba

    • 부분 합치기
    더보기

    a= '12345'
    b= '34567'

    c = a[0:3] + b[1:]  
    print(c)    -> 1234567

    • 스텝 건너뛰기
    더보기

    a= '12345'

    print(a[::2])  -> 135

     

    • 문자열 포맷팅 활용
    더보기

    a = "{} {} {} world".format("hello",", ","world!")
    print(a)
    print("{} 더하기 {} 는 {}".format(1,2,3))

    s = "Today is December 31, 2020. Tommorrow is Janurary 1, 2021." print(s)

    print(s.split(','))

    temp = s.split(',')[0] print(temp)

    #print(temp.split(' ')[3]

    print(temp.split(' ')) result = temp.split(' ')[3] print(result)

    #문자열 포맷팅 활용 print("{} x {} = {}".format(2,1,2))

    print("{} x {:0.1f} = {:2f}".format(2,2,2))

    • f-string formatting 방식
    문법의 가장 큰 장점은 자료형의 변환 없이 문자열과 숫자 값을 함께 다룰 수 있다는 점이다
    속도개선과 코드 가독성이 좋다.

     

     

    반응형

    댓글

Designed by Tistory.