본문 바로가기

Python

파이썬 공부 정리 - 자료구조

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

* 튜플

괄호

b = (1,2,3)

(변경 불가)

자물쇠가 잠겼다


b = (99,20)
print(b[0]) 

 

===================

vs 리스트 - 대괄호

a = [1,2,3]

append 가능.

===================


※ 딕셔너리 (* JSON 과 같음. : JavaScript Object Notation )

dictionary

Key를 통해 Value를 얻는다

dic = {'name':'pey',  'phone':'011-9999-1234',  'birth':'200922'}

print(dic['name']) => pey


* 새로 넣기

a={}

a['name'] = '익명'  # 새로넣기
print(a)

#>>> {'name':'익명'}

======

 

* 없애기

a={'test':1}

del(a['test'])

print(a)

===========

key만 뽑기

a = {1:'파랑구름', 2:'이현준', 3:'민준'}

print()
a.keys()  # 키
a.values() # 값
a.itmes() # 새로운 튜플형태로 만들기

>>> for 로 사용됨.

k = 0
a = {1:'파랑구름', 2:'이현준', 3:'민준'}

for k in a.Keys(): # Keys 안됨. keys
    print(k)

=============

 

* 지우기

a.clear

====================

* 없을때 처리
a = {1:'파랑구름', 2:'이현준', 3:'민준'}

#print(a[4])     # KeyError: 4
#print(a.get(4)) # none
print(a.get(4,'없다요')) # 없다요

======================

※ 

* 집합
집합에 관련된 것들을 쉽게처리하기위해 만들어진 자료형
중복을 허용하지 않는다
순서가 없다.

표현방법
s1 = set([1,2,3])   # 결과 : {1,2,3}
s2 = {1,2,3}  # 결과 : {1,2,3}

------

주 사용예제
a = [1,2,2,2,2,3,4,5]  # 중복된거 제외하고 나머지 값들 갖고 싶을때

newlist = list(set(a))
print(newlist)

========================

☆  결과값은 계속 바뀜

* 교집합 

s1 & s2
= s1.intersection(s2)

 

s1 | s2

= s1.union(2)

 

* 차집합
s1 - s2
= s1.difference(s2)


.add
update(여러개)
.remove

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

 

=========================

200925

True 대문자 T

------

a = [1,2,3,4]    <<<<<<< 리스트

a.pop() : 마지막을 빼준다.

=========================

 

pythontutor.com

 

Python Tutor - Visualize Python, Java, C, C++, JavaScript, TypeScript, and Ruby code execution

VISUALIZE CODE EXECUTION Learn Python, Java, C, C++, JavaScript, and Ruby Python Tutor helps people overcome a fundamental barrier to learning programming: understanding what happens as the computer runs each line of code. You can use it to write Python, J

pythontutor.com

 

a = [1,2,3]

b = a   # 주소가 바뀜

a[1] = 4  # 가운데 가 4로 바뀜

b = ?

print(b)   # [1,4,3]  ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ

print(id(a)) #주소값 
print(id(b)) #주소값 

print(a is b)  # True 같은 주소냐

==============

복사를하려면??

a = [1,2,3]
b = a[:]   # 슬라이싱 해서 새롭게 넣음.

a[1] = 4

print(a)
print(b)

---------

copy라는 모듈이 있다고 함

from copy import copy
a = [1,2,3]
b = copy(a)  # 새로운 메모리 주소에 복사하여 넣음
a[1] = 4
print(id(a))
print(id(b))

==============

* 변수 할당

a,b = ('python', 'life')

print(a)
print(b)

튜플. - 고정.

a = b = ('python', 'life') # 둘 다 할당

======

change ? 

a = 3
b = 5

# 다른 언어 이용. tmp 

a,b = b,a #이게돼?