코딩응애의 개발블로그

문자열 처리 함수, 문자열 포맷, 리스트, 딕셔너리 본문

파이썬

문자열 처리 함수, 문자열 포맷, 리스트, 딕셔너리

이너멜 2021. 7. 7. 23:54

문자열 처리 함수

다양한 문자열 처리 함수들이 있는데 먼저 다 소문자로 출력하는 lower() 함수다 대문자로 출력하는 upper()

sentence = "Python is Good"
print(sentence.lower()) # python is good 출력
print(sentence.upper()) # PYTHON IS GOOD 출력

문자열에 몇번째가 대문자 인지 확인을 하는 함수 isupper() 함수 맞으면 True 틀리면 False 출력 

sentence = "Python is Good"
print(sentence[0].isupper()) # True 출력 (여기서는 0번째가 대문자인지 확인한거임)

문자열에서 글자를 바꿔주는 replace() 함수 

sentence = "Python is Good"
print(sentence.replace("Python","Java")) # Java is Good 출력 Python 이라는 글자를 찾아서 Java로 교체

어떤 문자가 어느 위치에 있는지 확인하는 법 

index() 함수와 find() 함수를 이용을 하면 되는데 둘은 매우 유사하지만 다른점이 있다. index() 함수는 원하는 값이 문자열에 포함되어 있지 않을 때는 오류를 발생하고 프로그램을 종료 시켜 버린다. 하지만 find()함수는 원하는 값이 없더라도 오류는 발생시키지 않고 -1을 출력을 해주고 프로그램은 종료되지 않고 다음 문장이 있을때 정상적으로 출력을 한다.

sentence = "Python is Good"
print(sentence.index("o")) # 4 출력
print(sentence.find("o")) # 4 출력
print(sentence.index("f")) # 오류 내면서 프로그램 종료 
print(sentence.find("f")) # -1 출력 
print("2일차 꾸준히 하자") # 뒤에 있는 문장 정상적으로 실행이 됨

문자열에서 문자가 몇번 나오는지 출력을 해주는 함수 count() 함수 

sentence = "Python is Good"
print(sentence.count("o")) # 3 출력

문자열 포맷

문자열을 만들때 원하는 위치에 특정한 값(변수)을 삽입해 주는것이다. 

다양한 방법들이 있는데 먼저 %를 이용하는 방법  정수는 %d 문자는 %c 문자열은 %s 를 이용해서 하는데

참고로 %s로 써도 정수든 하나의 문자든 상관없이 오류가 나지 않고 잘 출력이 된다.

print("나는 %d살이다." % 34) # 나는 34살이다. 출력
print("나의 python 성적은 %c이다" % "A") # 나의 python 성적은 A이다 출력
print("나는 %s를 싫어한다" % "벌레") # 나는 벌레를 싫어한다 출력 
print("나는 %s살이다." % 34) # 나는 34살이다. 출력
print("나의 python 성적은 %s이다" % "A") # 나의 python 성적은 A이다 출력

다음으로 format()을 이용하는 방법 { }에 숫자를 집어 넣을 수도 있는데 format괄호 안에 값이 2개이상 있을때 그 값들을 순서대로 0번째 1번째라 생각을 하고 { }안에다가 0이나 1을 집어넣어서 순서를 다르게 출력을 할 수도 있다.

print("나는 {}살 입니다.".format(43)) # 나는 43살 입니다. format괄호안에 있는 값을 중괄호안에 집어넣는다
print("나는 {0}색과 {1}색을 좋아해".format("보라","초록")) # 나는 보라색과 초록색을 좋아해 출력 
print("나는 {1}색과 {0}색을 좋아해".format("보라","초록")) # 나는 초록색과 보라색을 좋아해 출력 중괄호 안에 값을 반대로 줘서 출력을 반대로 출력하게 함
# format 괄호안에서 변수를 선언을 해주고 중괄호 안에다가 변수명을 적어주는 방법 
# 이때는 괄호안에 아무것도 적지 않거나 위에 처럼 0이나 1 같은 숫자를 적으면 오류가 난다.
print("나는 {age}살이고 {color}를 좋아해".format(age = 34 , color = "핑크")) # 나는 34살이고 핑크를 좋아해
# 변수들을 먼저 선언을 해주고 print문장 앞에다가 f를 써준다 중괄호 안에는 변수명을 써주고
age = 34  
color = "핑크"
print(f"나는 {age}살이고 {color}를 좋아해") # 나는 34살이고 핑크를 좋아해

탈출문자(이스케이프 시퀀스)

# \n 줄바꿈 
print("안녕하세요\n코딩응애에요~ ㅋㅋ") 
# 안녕하세요
# 코딩응애에요~ ㅋㅋ 출력 

# \" 큰따옴표 \' 작은따옴표 
print("나는 \"최강\" 이다.") # 나는 "최강" 이다. 출력
print("\'저녀석 위험한 녀석이다..\'") # '저녀석 위험한 녀석이다..' 출력 

# \\ 역슬래시
print("C:\\Users") # C:\Users 출력

# \b 백스페이스 \t 탭 
print("Randon\bm") # Random
print("Random\tgame") # Random  game

# \r 커서를 맨 앞으로 이동 
print("Red apple\rPine") # Pineapple

리스트

순서를 가지는 객체 집합 대괄호 이용

subway = ["니달리","세트","질리언"]
print(subway.index("세트")) # 문자열에서 한것처럼 index를 이용할수 있다 

# append함수를 이용하여 리스트에 추가할수 있다 추가된 내용은 맨뒤에 온다
subway.append("럼블")
print(subway) # ['니달리', '세트', '질리언', '럼블'] 출력 

# insert함수를 이용해서 원하는 위치로 들어가게 할수 있다 단 어디에 넣을것인지
# 위치를 먼저 적고 나서 뒤에 객체(원하는 내용)을 넣어야 함 안그러면 오류 발생 
subway.insert(1,"요릭")
print(subway) # ['니달리', '요릭', '세트', '질리언', '럼블'] 출력

# 뒤에서 부터 하나씩 빼는 함수 pop()
subway.pop()
print(subway) # ['니달리', '요릭', '세트', '질리언'] 출력
numlist = [5,2,1,3,4]
# 숫자를 정렬을 해주는 함수 sort()
numlist.sort() 
print(numlist) # [1, 2, 3, 4, 5]

# 순서를 거꾸로 해서 정렬을 해주는 함수 reverse()
numlist.reverse()
print(numlist) #[5, 4, 3, 2, 1]

# 리스트 안에 있는 것들을 다 지우는 함수 clear()
numlist.clear()
print(numlist) # []

리스트는 다양한 자료형과 같이 쓸 수 있다. 정수형 문자형 boolean형 등등 그리고 두개의 리스트를 합치는것 또한 가능하다.

mixlist = ["대한민국",20,"A",True]
print(mixlist) # ['대한민국', 20, 'A', True]

# extend 함수를 이용해서 두개의 리스트를 합칠수 있다
mixlist.extend(numlist)
print(mixlist) # ['대한민국', 20, 'A', True, 5, 2, 1, 3, 4]

딕셔너리

사전 자료형이라고도 하고 key 와 value 형태로 나온다 중괄호를 쓴다 {key:value}  그리고 key는 중복이 허용이 안된다.

cabinet = {3:"유재석", 100:"김태호"}
# 출력하는 방법은 2가지가 있는데 대괄호를 이용하는 방법과 get을 이용하는 방법 
print(cabinet[3]) # 유재석 출력 
print(cabinet.get(100)) # 김태호 출력

근데 이 2가지 방법에 차이점이 있다 바로 딕셔너리에 없는 값을 출력을 할때 차이점이 들어난다 

cabinet = {3:"유재석", 100:"김태호"}
# 딕셔너리에 없는 값을 출력을 할때 
print(cabinet[8]) # 오류를 발생하고 프로그램을 종료 시킨다 
print(cabinet.get(8)) # None 값을 출력하고 프로그램은 종료되지 않는다

# 만약 None 말고 다른 기본값을 쓰고 싶다고 할때는 저런식으로 원하는 값을 출력할수 있다
print(cabinet.get(8,"가능")) # 가능

사전 자료형 안에 어떤값이 있는지 확인하는 법 

# (key in 변수명) 을 이용한다 참이면 True 거짓이면 False 출력 
print(3 in cabinet) # True

 

Comments