완숙의 블로그

[Python] 2 - String Array, List, Data Type 본문

Programing Language/Python

[Python] 2 - String Array, List, Data Type

완숙 2019. 3. 20. 12:54

문자열 나누기

Pithon -> Python

# 잘못된 예
a = "Pithon"
a[1] = 'y'

 

불가능하다. 문자열의 요소값은 바꿀 수 있는 값이 아니다.

 

# 옳은 예
a = "Pithon"
a[:1] + 'y' +a[2:]

 

슬라이싱을 사용하여 새로운 문자열을 만들 수 있다.

또한, 슬라이싱을 할때 마지막 값은 미만으로 인식한다.

 

이런 방법을 사용하지말고, 기본 메서드를 사용하면 더 쉽게 가능하다.

 

 

문자열 관련 함수들

# 문자 개수 세기
a.count('b')

# 위치 알려주기 1
a.find('b')			# 있으면 처음으로 나온 위치 반환, 없으면 -1

# 위치 알려주기 2
a.index('t')		# 있으면 처음으로 나온 위치 반환, 없으면 에러

# 문자열 삽입
a = ","
a.join('abcd')		# 'a,b,c,d'

# 소문자를 대문자로
a = "hi"
a.upper()			# 'HI'

# 문자열 바꾸기
a = "Life is too short"
a.replace("Life", "Your leg")		# ’Your leg is too short’

# 문자열 나누기
a = "Life is too short"
a.split()						# [’Life’, ’is’, ’too’, ’short’]

a = "a:b:c:d"
a.split(’:’) 				# [’a’, ’b’, ’c’, ’d’]

 

 

자료형

파이썬은 알아서 처리해주니까 이부분을 무시하고 작성하는 경향이 있을 수 있다.

하지만 여전히 연산을 할때, 해당 변수의 자료형을 인지한 상태로 수행해야 한다.

 

명시적 형변환을 하는 것을 잊지 말자.

 

 

리스트

수정

>>> a[1:2] [2]
>>> a[1:2] = [’a’, ’b’, ’c’]
>>> a
[1, ’a’, ’b’, ’c’, 4]

 

>>> a[1] = [’a’, ’b’, ’c’] 
>>> a
[1, [’a’, ’b’, ’c’], 4]

 

2번 예제에서 리스트를 a[1:2] = [‘a’, ‘b’, ‘c’]로 수정하는 것과

a[1] = [‘a’, ‘b’, ‘c’]로 수정하는 것은 전혀 다른 결과값을 갖게 되므로 주의해야 한다.

a[1] = [‘a’, ‘b’, ‘c’]는 리스트 a의 두 번째 요소를 [‘a’, ‘b’,‘c’]로 바꾼다는 말이고

a[1:2]는 a[1]에서 a[2] 사이의 리스트를 [‘a’, ‘b’, ‘c’]로 바꾼다는 말이다.

따라서 a[1] = [‘a’, ‘b’, ‘c’]로 수정하게 되면 위와는 달리

리스트 a가 [1, [‘a’, ‘b’,‘c’], 4]라는 값으로 변하게 된다.

 

삭제

  1. [ ] 사용해 리스트 요소 삭제하기
>>> a[1:3] = [ ] 
>>> a
[1, ’c’, 4]

 

  1. del 함수 사용해 리스트 요소 삭제하기
>>> a
[1, ’c’, 4] 
>>> del a[1] 
>>> a
[1, 4]

 

리스트 관련 함수

  1. append
>>> a = [1, 2, 3] 
>>> a.append(4)
>>> a
[1, 2, 3, 4]

 

  1. sort
>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a = [’a’, ’c’, ’b’] 
>>> a.sort()
>>> a
[’a’, ’b’, ’c’]

 

  1. insert
>>> a = [1, 2, 3] 
>>> a.insert(0, 4) 
[4, 1, 2, 3]

 

  1. remove
>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
[1, 2, 1, 2, 3]

첫번째로 나오는 녀석을 삭제한다.

 

  1. pop

pop( )은 리스트의 맨 마지막 요소를 돌려 주고 그 요소는 삭제하는 함수이다.

>>> a = [1,2,3] >>> a.pop()
3
>>> a
[1, 2]

 

 

튜플 자료형

튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하다.

리스트와 다른 점은 다음과 같다.

  • 리스트는 [과 ]으로 둘러싸지만 튜플은 (과 )으로 둘러싼다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

 

 

 

딕셔너리 자료형

사람은 누구든지 “이름” = “홍길동”, “생일” = “몇 월 몇 일” 등으로 구분 할 수 있다.

파이썬은 영리하게도 이러한 대응 관계를 나타낼 수 있는 자료형을 가지고 있다.

요즘 사용하는 대부분의 언어들도 이러한 대응 관계를 나타내는 자료형을 갖고 있는데,

이를 연관 배열(Associative array) 또는 해시(Hash)라고 한다.

 

파이썬에는 이 자료형을 딕셔너리라고 하는데,

기본적으로 Key, Value 라는 것을 한 쌍으로 갖는 자료형이다.

 

딕셔너리가 튜플이나 리스트와 가장 다른 점이라면,

순차적으로 해당 요소값을 구하지 않고 Key 를 통해 Value를 얻는다는 점이다.

처음부터 다 뒤져보는 것이 아니고, Key가 있는 곳만 탐색한다는 것이다.

 

Key list

>>> a = {’name’: ’pey’, ’phone’: ’0119993323’, ’birth’: ’1118’} 
>>> a.keys()
dict_keys([’name’, ’phone’, ’birth’])

 

Items

>>> a.items()
dict_items([(’name’, ’pey’), (’phone’, ’0119993323’), (’birth’, ’1118’)])

items 함수는 key와 value의 쌍을 튜플로 묶은 값을 dict items 객체로 돌려준다.

 

Get

Key 로 Value 를 얻어보자.

>>> a = {’name’:’pey’, ’phone’:’0119993323’, ’birth’: ’1118’} 
>>> a.get(’name’)
’pey’
>>> a.get(’phone’)
’0119993323’

 

'Programing Language > Python' 카테고리의 다른 글

[Python] 4 - Function Design Recipe (FDR)  (0) 2019.03.20
[Python] 3 - Variables  (0) 2019.03.20
[Python] 1 - Introduction Of Python  (0) 2019.03.20
[Python] What is Class? (클래스란?)  (0) 2019.02.11
Python 2 (for, 연산)  (0) 2019.01.15
Comments