반응형

# String, List 에 대하여

 

# String : 문자열 취급 ( 순서형 )

 

1
2
3
4
5
6
7
8
9
10
11
12
13
= 'sequence'
 
# s문자열의 길이는?
print(len(s))
 
# e의 개수는?
print(s.count('e')) 
 
# 처음 e는 어디에? 3번째 이후 e는 어디에? 뒤에서부터 e는 어디에?
print(s.find('e'), ' ' , s.find('e'3), s.rfind('e')) 
 
# s 문자열에 s로 시작하면 TRUE 아니면 False
print(s.startswith('s')) 
 

변수.count('값') : 변수에서 원하는 데이터의 개수를 출력

변수.find('값') : 해당 변수에서 원하는 값이 저장된 첫 위치 출력

변수.find('값','위치') : '위치' 이후에 원하는 값이 저장된 장소 출력

변수.rfind('값') : 변수의 뒤에서부터 처음 출력되는 장소 출력

변수.startswith('값') : '값'으로 시작하면 TRUE 아니면 FALSE

 

출력 결과

 

 

Ex 2) 파이썬도 자바처럼 가비지 컬렉터가 존재하므로, 변수에 '기존 값'에서 '새로운 값'을 넣으면 덮어쓰기가 됩니다.

1
2
3
4
5
ss = 'abc'
print('abc', id(ss))
 
ss = 'def'
print('def', id(ss))

id(변수명) : '변수명'의 메모리 주소를 출력합니다.

 

출력 결과

 

 

Ex 3) # 슬라이싱 기법을 이용하면 데이터 값을 부분적으로 잘라서 볼 수 있다.

 

 
1
2
3
= 'sequence'
print(s[0], ' ' , s[2:4], ' ' , s[:3], ' ', s[3:])
print(s[-1], ' ' , s[-4:-1], ' ' , s[-4:], ' ' , s[::2])

 

변수['위치'] : '위치'번째 값 출력

변수['위치1':'위치2'] : '위치1'에서 '위치2'번째 출력

변수[ : '위치1'] : '위치1' 전까지 출력

변수[ '위치1' : ] : '위치1' 부터 전부 출력

변수[ ::'숫자' ] : 2개씩 끊어서 출력한다.

 

 - 가 붙는 경우는 반대로 생각해주면 된다 !

 

출력 결과

 

 

Ex4 ) # 문자열 데이터는 수정이 불가능합니다.

 

1
s[0= 'k'

 

Ex 5)

- split 함수는 공백 또는 특정 기준으로 나눌때 사용합니다.

- 문자열 타입의 list가 있으면 각 요소들을 하나의 문자열로 만들때 사용합니다.

1
2
3
4
ss = 'abc def'
ss2 = ss.split(sep=' ' )
print(ss2)
print(','.join(ss2))

 

출력 결과

 

 

# List 배열과 유사, 순서가 존재, 변경 가능, 여러 종류의 자료를 허용

 

Ex 1) 여러 종류의 자료를 허용합니다.

 

1
2
3
4
5
= [1,2,3]
=[10, a, 12.3, True, 'abc' ]
 
print(a, ' ', id(a))
print(b, ' ' , id(b))

 

출력 결과

 

Ex 2) 검색 , 업데이트 , 삭제하는 방법

1
2
3
4
5
6
7
8
9
10
= [1,2,3]
=[10, a, 12.3, True, 'abc' ]
 
print(b[0], ' ' , b[1], ' ' , b[1][:2]) 
b[0= 'def'
print(b[0]) 
b.remove('abc')
print(b)
del b[3]
print(b)
 

변수['숫자'] : 해당 위치의 자료 출력 

변수명.remove : 변수 안에 있는 데이터를 삭제

del 변수명 : 위와 동일하나 차이점이 있다면 del은 위치에 의한 삭제를 진행한다.

 

출력 결과

 

 

Ex 3) family 변수 사용

 

1
2
3
4
5
6
7
family = ['엄마''아빠''나']
family.append('동생'# 마지막 순서에 추가
family.remove('나'# 제거
family.insert(0'할아버지'# 원하는 순서에 맞춰서 삽입 가능
family.extend(['삼촌','고모','이모'])
family += ['아주머니''아저씨']
print(family, len(family), family[0]) # famly 변수 데이터 출력 / 길이 출력 / 0번째 출력

 

출력 결과 

 

 

Ex 4)

- 주소를 참조하기 때문에 값들을 서로 공유

- copy 함수를 import 후 deepcopy 사용하여 객체를 새로 생성 후 새로운 주소를 기억시키면 다른 값 출력

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
num = ['일','이','삼']
num2 = num
print(num)
print(num2)
 
num[0= '사'
num2[1= '오'
print(num, '  ', num2)
 
import copy
num3 = copy.deepcopy(num) # 새로운 객체 생성 후 새로운 주소를 기억
print(num, ' ',num3)
num[0= '십'
print(num, ' ' , num3)

 

출력 결과

 

 

Ex 5) stack과 queue

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
= [1,2,3]
a.append(4# 맨뒤에 4를 추가
print(a)
a.pop() # 맨 마지막에 삽입된 값은 뺌 stack과 유사
print(a)
a.pop()
print(a)
 
 
 
= [1,2,3]
b.append(4# 맨뒤에 4를 추가
print(b)
b.pop(0# 맨 마지막에 삽입된 값은 뺌 stack과 유사
print(b) # FIFO 동작과 동일함
b.pop(0)
print(b)

 

출력 결과

 

 

반응형

'python' 카테고리의 다른 글

python - 제어문 ( if )  (0) 2020.05.07
python - 정규 표현식  (0) 2020.05.07
python - 집합형 자료 ( Tuple , Set , Dict )  (0) 2020.05.07
python - 이클립스에서 사용 & 기본 문법  (0) 2020.05.06
python - 특징 & 설치  (0) 2020.05.06

+ Recent posts