파이썬 문자열 자료형

유신·2021년 2월 15일
0

코딩테스트

목록 보기
3/10
post-custom-banner

문자열안에 큰따옴표나 작은 따옴표를 사용할 떄
백슬래시를 사용한다


data = 'Hello Wrold' 
print(data) #Hello Wrold 

data = "don`t you know \"python\"?" #don`t you know "python"?
print(data)

#문자열 연산
a ="Hello"
b="World"
print(a+ " " + b) # Hello World


#문자열 변수를 양의 정수와 곱하는 경우, 문자열이 그 값만큼 여러 번 더해 진다.
a ="String"
print(a*3) # StringStringString


파이썬의 문자열은 내부적으로 리스트와 같이 처리된다.
문자열은 여러 개의 문자가 합쳐진 리스트라 볼 수 있다.


a ="ABCDEF"

print(a[2:4])

튜플 자료형

파이썬의 튜플 자료형은 리스트와 거의 비슷하지만 차이가 있다
1. 한번 선언된 값을 변경할 수가 없다.
2. 리스트는 대괄호([])를 이용하지만 튜플은 소괄호(())을 이용한다.

튜플은 리스트에 비해 상대적으로 공간 효율적이고, 일반적으로 각 원소의 성질이 서로 다를 떄 주로 사용한다.



a = (1,2,3,4)

print(a) # (1, 2, 3, 4) 

a[2]=7 # TypeError: 'tuple' object does not support item assignment

사전 자료형

사전 자료형은 키와 값의 상을 데이터로 가지는 자료형이다.

사전 자료형은 내부적으로 해시 테이블을 이용하므로 기본적으로 데이터의 검색 및 수정에 있어서 O(1)의 시간에 처리할 수 있다.
  • 리스트보다 훨씬 바르게 동작한다는 점 기억하기

# 빈딕셔너리 만들기
x ={}
print(x) #{}

# 빈 딕셔너리 만들기 2
y=dict()
print(y) # {}
 
 
 data =dict()

data['사과']= "Apple"
data['바나나']='Banana'
data['코코넛']='Coconut'


 
 #특정한 원소가 있는지 검사하는방법
if '사과' in data:
  print("'사과'를 키로 가지는 데이터가 존재합니다")
  # '사과'를 키로 가지는 데이터가 존재합니다


# 키 데이터만 담은 리스트
key_list = data.keys()

#값 데이터만 담은 리스트
value_list = data.values()

print(key_list) #  dict_keys(['사과', '바나나'])
print(value_list) # dict_values(['apple', 'Banana'])


#각 키에 따른 값을 하나씩 출력

for key in key_list:
  print(data[key]) 
#apple
#Banana

집합 자료형

집합 자료형 특징
1. 중복을 허용하지 않는다.
2. 순서가 없다.


#집합 자료형 초기화 방법 1
data =set([1,1,2,3,4,4,5])
print(data)  # {1, 2, 3, 4, 5}

#집합 자료형 초기화 방법 2
data={1,1,2,3,4,4,5}
print(data) # {1, 2, 3, 4, 5}

집합 자료형의 연산

기본적으로 집합 연산으로는 합집합 , 교집합, 차집합 연산이 있다.



a = set([1,2,3,4,5])
b= set([3,4,5,6,7])


print(a|b)# 합집합  {1, 2, 3, 4, 5, 6, 7}
print(a&b)# 교집합 {3, 4, 5}
print(a-b)# 차집합 {1, 2}

집합 자료형 관련 함수

add ,update ,remove가 있다.

add ,remove 함수는 모두 시간 복잡도가 O(1)이다.


data =set([1,2,3])

print(data)

#새로운 원소 추가
data.add(4)
print(data) # {1, 2, 3, 4}

#새로운 원소 여러 개 추가
data.update([5,6])
print(data) # {1, 2, 3, 4, 5, 6}


#특정한 값을 갖는 원소 삭제
data.remove(3)
print(data) # {1, 2, 4, 5, 6}

profile
초보개발자
post-custom-banner

0개의 댓글