Python - 11.자료구조2
by jennysgap자료구조2
# 같은 표현들 (마지막에 숫자 추가)
mylist = [1,2,3] mylist.insert(3,4)
#mylist.append(4)
#mylist.insert(len(mylist),4) print(mylist)
# 스택구조표현 = FILO (First in last out)
mylist = []
mylist.append(1) # 푸쉬 (쌓다)
mylist.append(2)
mylist.append(3)
mulist.pop() # 팝 (빼내다)
mulist.pop()
mulist.pop()
mylist = [1,2,3,4,5]
mylist.clear
print(mylist)
mylist = [1,2,3,1,5,1]
newlist = mylist # 같은 객체에 접근하여 메소드를 호출
print(mylist)
print(newlist)
newlist.clear()
print(id(mylist)) print(id(newlist)) # id를 통해 주소가 같은 번지를 가리키고 있다는 것을 알 수 있음
mylist = [1,2,3,1,5,1] newlist = mylist.copy() # 데이터 내용은 같지만, 다른 주소에 객체가 생김 (사본 객체 만들기)
#newlist = mylist[:] # 슬라이싱을 이용한 사본 객체 만들기
print(mylist) print(newlist) newlist.clear() print(id(mylist)) print(id(newlist))
11.2 튜플의 메서드
• count
• index
mylist = ('a','b','b','c','d','d','e') cnt = mylist.count('b')
idx = mylist.index('b')
print('b의 개수:',cnt)
print('b가 처음 나온 인덱스:',idx)
11.3 딕셔너리의 메서드
• get
• clear
• copy
• keys
• values
• pop
• ....
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} print(mydic.get('박지성')) print(mydic.get('황영조')) print(mydic.get('황영조', '운동선수')) #'황영조'키값을 찾아보고 없으면 운동선수를 결과값으로 출력한다.
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} newdic = mydic print(id(mydic), id(newdic)) newdic = mydic.copy print(id(mydic), id(newdic)) mydic.clear() print(mydic) print(newdic)
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} var = mydic.keys() print(var) print(type(var)) var = mydic.values() print(var) print(type(var))
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} var = mydic.keys() print(type(var)) mylist = list(var) print(mylist)
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} var = mydic.values() print(type(var)) mylist = list(var) print(mylist) mytuple = tuple(var) print(mytyple)
mydic={'박지성':'축구', '이승엽':'야구', '김연아':'피겨'} key = '박지성' data = mydic.pop(key) print(type(data)) print(data) print(mydic)
11.4 집합의 메서드
• add
• pop
• remove
• discard
• clear
• copy
• union 합집합
• intersection 교집합
• difference 차집합
• ...
myset = set(['a','b','b','c','d','e','e','f']) myset.add('h') print(myset) myset.update(['i','j','k']) print(myset) ele = myset.pop() print(ele) print(myset)
myset = set(['a','b','b','c','d','e','e','f']) myset.remove('a') print(myset)
#myset.remove('i') # 데이터가 있다고 가정하기 때문에 없으면 오류발생 myset.discard('i') # 데이터가 없어도 가능(없으면 넘어가고 있으면 삭제) print(myset)
myset = set(['a','b','b','c','d','e','e','f']) newset = myset print(id(newset), id(myset)) newset = myset.copy() print(id(newset), id(myset)) myset.clear() print(myset) print(newset)
setA = set(['a','b','c','d','e','f']) setB = set(['b','c','e','g','h','i','j','k']) result = setA.union(setB) # 합집합 #result = setA | setB print('집합A:', setA) print('집합B:', setB) print('합집합:', result)
setA = set(['a','b','c','d','e','f']) setB = set(['b','c','e','g','h','i','j','k']) result = setA.intersection(setB) # 교집합 #result = setA & setB print('집합A:', setA) print('집합B:', setB) print('교집합:', result)
setA = set(['a','b','c','d','e','f'])
setB = set(['b','c','e','g','h','i','j','k'])
print('집합A:', setA)
print('집합B:', setB)
result = setA.difference(setB) #result = setA - setB
print('차집합(A-B):', result)
result = setB.difference(setA) #result = setB - setA
print('차집합(B-A):', result)
11.5 다양한 변수할당 방법
mytuple = ('Hello', 'World') (var1, var2) = mytuple print(var1,end=' ') print(var2) mylist = ['fly', 'to the', 'moon'] [var1, var2, var3] = mylist print(var1, end=' ') print(var2, end=' ') print(var3)
# unpacking assignment
(a,b,c) = ['Hello', 'World', 'Hi']
#a,b,c = ('Hello', 'World', 'Hi')
#[a,b,c] = ('Hello', 'World', 'Hi')
print(a)
print(b)
print(c)
mylist = ['Hello', 'World', 'Hi'] mylist.append('banana') [a,b,*c] = mylist # *쓰면 나머지 한번에 출력 print(a) print(b) print(c)
var1 = var2 = 'Hello World' print(var1) print(var2) num5 = num4 = num3 = num2 = num1 = 10 print(num1, num2, num3, num4, num5)
#print(num = 10) 이렇게 표현할 수 없음!
# 변수 두개를 서로 바꾸는 방법
a = 10 b = 20 print('a:', a, 'b:', b) temp = a a = b b = temp print('a:', a, 'b:', b) (a,b) = (b,a) # 안에 내용 서로 바꾸기, (괄호)생략가능하다. print('a:', a, 'b:', b)
11.6 보충자료
num = 2 result = 'True' if num else 'False' print(num, '은 ', result) num = 0 result = 'True' if num else 'False' print(num, '은 ', result) str = 'Hello' result = 'True' if str else 'False' print(str, '은 ', result) str = '' result = 'True' if str else 'False' print(str, '은 ', result)
mytuple = () result = 'True' if mytuple else 'False' print(mytuple, '은 ', result) mytuple = (1, ) result = 'True' if mytuple else 'False' print(mytuple, '은 ', result) mylist = [] result = 'True' if mylist else 'False' print(mylist, '은 ', result) mylist.append('data') result = 'True' if mylist else 'False' print(mylist, '은 ', result)
myset = set([]) result = 'True' if myset else 'False' print(myset, '은 ', result) myset = set([1]) result = 'True' if myset else 'False' print(myset, '은 ', result) mydic = {} result = 'True' if mydic else 'False' print(mydic, '은 ', result) mydic['key1'] = 'data1' result = 'True' if mydic else 'False' print(mydic, '은 ', result)
* 데이터가 있으면 True, 데이터가 없으면 False
* 숫자일 경우, 0이면 False 0이 아니면 True
'BOX' 카테고리의 다른 글
해킹 용어 정리 1 (0) | 2017.01.30 |
---|---|
파이썬 관련 사이트 정리 (0) | 2017.01.26 |
알고리즘 연습 사이트 (0) | 2017.01.26 |
Python - 10.자료구조1 (0) | 2017.01.25 |
보안뉴스 스크랩 (0) | 2017.01.25 |
블로그의 정보
jennysgap
jennysgap