본문 바로가기

MyDevLife

(257)
11. Conditional Statements if 조건문 if : ... elif : ... elif : ... ... else: ... while 조건문 while : if not : break if : continue ... for 문 for 변수 in 리스트(또는 튜플, 문자열): ... marks = [90, 25, 67, 45, 80] number = 0 for mark in marks: number = number + 1 if mark >= 60: print("%d번 학생은 합격입니다." % number) else: print("%d번 학생은 불합격입니다." % number)
10. Statement Blocks 파이썬의 경우는 들여쓰기를 통해 블럭에 들어갈 문장을 판단한다.
09. Shallow copy & Deep copy 파이썬은 C#, Java 처럼 해당 자료형의 클래스를 만들고 이를 레퍼런스로 가지고 있기 때문에 변수간에 복사를 하면 값 복사가 일어나는 것이 아니라 참조복사가 일어난다. 따라서 값을 복사해 사용하고자 한다면 copy 모듈을 임포트 한 다음 deepcopy 함수를 사용해야 한다. import copy a = [1,2,3] b = a c = copy.deepcopy(a) # deep copy a[0]= 38 print (a) # [38, 2, 3] print (b) # [38, 2, 3] print (c) # [1, 2, 3]
08. Key container - Set 보통 집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형이다. 이 Set 에는 아래의 두 가지 중요한 특징이 있다. 1.중복을 허용하지 않는다. 2.순서가 없다. (unordered) 선언은 아래와 같이 하면 된다. a = {1,2,3} b = {3,4,5} 제공되는 메서드는 리스트와 거의 유사하며 추가로 교집합과 합집합을 구할 수 있다. Operation - or difference >> 차집합 print(a-b) #{1, 2} 차집합 | or union >> 합집합 print(a|b) #{1, 2, 3, 4, 5} 합집합 & or intersection >> 교집합 print(a&b) #{3} 교집합 = >> 해당 집합이 다른 집합에 속하는지 조사 s.update(s2) >> s2 ..
07. Key container - Dictionary 아래와 같이 Key, Value 쌍을 가지는 컨테이너다. Value 는 숫자, 문자, 리스트 등 여러가지 값이 올 수 있다. a = { 1 : 'hi' } a = { 'a' : [ 1, 2, 3]} Operation d[key] = value > d[key] 를 value 로 바꾼다. > d 에 값을 추가한다. color = {'apple' : 'red' , 'banana' :'yellow'} color['apple'] = 'brown' color['rose'] = 'red' print (color) # {'apple': 'brown', 'banana': 'yellow', 'rose': 'red'} d.clear() > key, value 쌍을 모두 지운다. color = {'apple' : 'red' ..
06. Sequence Container - Tuple 튜플은 리스트와 몇 가지 점을 제외하곤 모든 것이 동일하다. 다른 점은 다음과 같다. • 리스트는 [ ] 으로 둘러싸지만 튜플은 ( ) 으로 둘러싼다. • 리스트는 그 값을 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 변화시킬 수 없다. • 한 개의 요소만을 갖는 튜플은 t2 = (1,) 처럼 한 개의 요소와 그 뒤에 콤마(',')를 넣어야 한다 • 생성시 ( ) 를 생략해도 무방하다. t1 = () t2 = (1,) t3 = (1,2,3) t4 = 1,2,3 t5 = ('a', 'b', (' ab', ' cd'))
05. Sequence Container - List List 빠르고 순차적이서 인덱싱이 가능하고 순회 가능한 타입이다. 선언은 [ ] 를 사용하여 아래와 같이 하면 된다. a = [] b = [1, 2, 3] c = ['Life', 'is' , 'too' , 'short'] d = [1, 2, 'Life', 'is' ] e = [1, 2, ['Life', 'is' ]] List Operation lst.append(val) > lst 끝에 val 을 추가한다. a = [1, 2, 3] a.append(4) print (a) #[1, 2, 3, 4] lst.extend(seq) > 원래의 lst 에 seq 를 더한다. a = [1,2,3] a.extend([4,5]) print (a) #[1, 2, 3, 4, 5] lst.insert(idx,val) > i..
04. Sequence Containers 시퀀스 컨테이너의 경우 ( list, tuple, string, byte ) 여러 방식의 인덱싱이 가능한데 이에 대해 살펴본다. Indexing 아래 규칙에 따른다. lst [ start slice : end slice : step ] 인덱스는 아래와 같이 계산되고 start slice , end slice 인 경우에는 생략할 수 있다. (생략시 양끝단을 가리킴) 각각의 경우에 대한 예는 아래와 같다. lst = [10, 20, 30, 40 ,50] print ( lst[0 ] ) # 10 print ( lst[-1 ] ) # 50 print ( lst[:-1 ] ) # 슬라이스 0 ~ 슬라이스 -1 => 10, 20, 30, 40 print ( lst[1 :-1 ] ) # 슬라이스 1 ~ 슬라이스 -1..