반응형

# Tuple ( 리스트와 유사, 읽기 전용, 중복을 허용 )

# 빠른 속도를 요구할 때 사용하면 좋다.

 

Ex 1)

1
2
3
4
5
6
= ('a''b''c''a')
 
print(t)
 
print(t, ' ' , t.count('a'),'개 ' , t.index('b'))
print(t[0])

 

출력 결과

 

 

Tuple은 읽기 전용이라 수정하면 에러가 발생합니다 ! 수정을 하고 싶다면 리스트 형태로 주어야 합니다.

 

예시. t[0] = m을 하였을 경우

리스트로 담아서 넘길 경우

 

1
2
3
4
= list(t)
q[0= 'm'
= tuple(q) # q를 tuple로 지정하여 t 에 저장
print(t)

출력결과

 

 

Ex 2)

- 변수에 요소 값이 1개를 tuple로 받아주고 싶을 경우 요소 뒤에 , 를 찍어주어야 한다.

- 그렇지 않으면 int 로 받아들여 tuple이 아니게 된다.

 

1
2
3
4
5
kk = (1)
print(kk, type(kk)) 
 
kk2 = (1,)
print(kk, type(kk), kk2, type(kk2))

 

출력 결과

 

 

집합 자료형 SET ( 순서 없고 중복도 불가능하다. 중복되는 값을 스스로 스킵한다. )

 

Ex 1)

 

1
2
3
4
5
6
7
8
9
= {1,2,3,1}
print(a)
 
= {3,4}
print(a.union(b)) # 합집합
print(a.intersection(b)) # 교집합
print(a - b, a | b,  a & b) # 차집합 / 합집합 / 교집합
 
# print(a[0]) # 순서가 없기떄문에 인덱싱 불가능

 

출력 결과

 

 

Ex 2) update remove 기능 

- SET 함수는 순서가 없기 때문에 인덱싱은 불가능하다.

- SET 함수는 순서가 없기 때문에 전부 값에 의한 삭제로 이루어진다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
b.add(5)
print(b)
b.update({6,7})
b.update({8,9})
b.update({10,11}) 
print(b)
 
 
b.discard(7
b.remove(6)
b.discard(7)
 
print(b)

 

- update의 경우 차례대로 마지막에 삽입이 된다.

- discard와 remove는 삭제의 개념에서는 같으나, discard의 경우 제거 할 때 해당 값이 없으면 스킵되지만,

- remove의 경우는 오류를 출력한다.

 

출력 결과

 

 

 추가 - 변수명.clear() 를 할 경우 해당 변수의 데이터 값을 초기화 시켜준다.

 

Dict ( {key:value} 의 형태를 갖고 인덱싱은 불가능합니다, key에 의해 값을 찾기 때문에 위치는 중요하지 않다. )

 

Ex 1) dict 는 다음과 같이 출력가능합니다.

 

1
2
3
4
5
mydic = dict(k1=1, k2='abc', k3=1.2)
print(mydic) 
dic = {'파이썬':'공부''자바':'열심히''스프링':'웹'}
print(dic, ' ' )
print(dic['자바'])

 

출력 결과

 

 

Ex 2) insert / delete / update 기능

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# insert 기능
dic['오라클'= '예언자'
print(dic)
 
# delete 기능
del dic['오라클']
print(dic)
 
# update 기능
dic['자바'= 'programing lan'
print(dic)
 
print(dic['자바'])
print(dic.keys()) # key 값만 출력
print(dic.values()) # values 값만 출력
 
print(dic.get('자바'))

 

출력 결과

 

반응형

'python' 카테고리의 다른 글

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

# 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