ABOUT ME

Today
Yesterday
Total
  • 파이썬하면서 햇갈리는 함수와 그 성질들
    파이썬 2020. 7. 2. 05:30

    # 정수(int), 문자열(string), 리스트(list), 튜플(tuple), 세트(set)

     

    1. len( x )

    * 변수의 리터럴 값이 정수형(int)일 경우 사용할 수 없다.

    >>> a = 1
    >>> len(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: object of type 'int' has no len()

    * 문자열, 리스트, 튜플, 세트일 때는 가능하다.

    * 문자열을 셀 때는 공백, 기호 포함 문자열의 내 모든 문자의 수를 세어준다.

    >>> a = [1,2,3]
    >>> len(a)
    3
    >>> a = (1,2,3)
    >>> len(a)
    3
    
    >>> a = {1,2,3}
    >>> len(a)
    3
    
    >>> a = "python is good"
    >>> len(a)
    14

     

     

    2. "y".join( x )

    * join함수는 두 가지 기능이 있다.

    * 첫 번째는 y란 문자를 x의 문자열 사이에 삽입할 수 있는 기능이다.

    * 두 번째는 y란 문자를 x의 문자열 사이에 삽입하며, x의 많은 문자열을 합쳐 하나의 문자열로 돌려준다.

    * 그리고 이 두가지는 동시에 이뤄진다.

    >>> a = ["a", "b", "c", "d", "e"]
    >>> "$".join(a)
    'a$b$c$d$e'

    * 위와 같이 원하는 문자를 문자열 사이에 넣는 동시에 모든 문자열을 하나의 문자열로 합쳐준다.

     

     join함수는 문자열, 리스트, 튜플,세트 등에서 이용할 수 있다.

    >>> a = ["a", "b", "c", "d", "e"] #리스트일때
    >>> "$".join(a)
    'a$b$c$d$e'
    
    >>> a = ("a", "b", "c", "d", "e") #튜플일떄
    >>> "$".join(a)
    'a$b$c$d$e'
    
    >>> a = {"a", "b", "c", "d", "e"} #세트일때
    >>> "$".join(a)
    'd$e$c$b$a'

     

    * 중요한건 어느 자료형에 들어있든 그 안의 요소가 정수(int)형일 경우 사용이 불가능하다.

    * 즉 어느 자료형에 들어있든 그 안의 요소가 문자열일 때만 사용이 가능하다.

    >>> a = [1,2,3,4,5]
    >>> "$".join(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: sequence item 0: expected str instance, int found
    
    >>> a = (1,2,3,4,5)
    >>> "$".join(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: sequence item 0: expected str instance, int found
    
    >>> a = {1,2,3,4,5}
    >>> "$".join(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: sequence item 0: expected str instance, int found

     

    * join함수는 리스트, 튜플, 세트에서도 이용이 가능하다.

    * 하지만 리스트나 튜플, 세트 안에 있는 요소들이 단 한 개의 문자열로 존재할 경우,

       y라는 문자열을 삽입하는 것이 불가능하다.

    * 이 경우 그냥 안의 요소를 문자열로만 돌려준다.

    >>> a = ["a:b:c:d"] #리스트 안에 단 한개의 문자열만 요소로서 존재할 경우
    >>> "*".join(a)
    'a:b:c:d'
    >>> a = ["a", "b", "c", "d"] #리스트 내 문자열에 여러개일 경우 새로운 문자열을 삽입후 합친다.
    >>> "*".join(a)
    'a*b*c*d'

     

     

    3. x.split( "y" )

    * split는 함수는 문자열을 쪼개서 리스트로 돌려준다.

     

    * 특정 문자열을 지정할 경우 해당 문자열을 기준으로 문자열을 쪼개서 리스트를 돌려준다.

    >>> a = "a:b:c:d"
    >>> a.split(":")
    ['a', 'b', 'c', 'd']

     

    * 임의로 특정 문자열을 지정하지 않을 경우 해당 문자열을 쪼개지 못하고 그대로 리스트에 넣어 돌려준다.

    >>> a = "a:b:c:d"
    >>> a.split()
    ['a:b:c:d']

     

    * 다만 특정 문자열을 지정하지 않았어도 공백 등으로 컴퓨터가 자동으로 구분할 수 있다면,

      해당 기준점을 기준으로 문자열을 쪼개서 리스트로 돌려준다.

    >>> a="python is good"
    >>> a.split()
    ['python', 'is', 'good']
Designed by Tistory.