-
파이썬하면서 햇갈리는 함수와 그 성질들파이썬 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']
'파이썬' 카테고리의 다른 글
연산자 - 비트연산자(bitwise Operators), 대입연산자 (0) 2020.07.02 연산자(operator) - 산술 연산자, 관계 연산자, 논리연산자, 삼항연산자 (0) 2020.07.02 자료형에 따른 활용법(함수 등) - 불, 불리언, 논리자료형 (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 집합자료(set) (0) 2020.07.01 자료형에 따른 활용법(함수 등) - 딕셔너리 (0) 2020.07.01