파이썬 기초(1일차)

이상우·2021년 8월 5일
0

이어드림 프로젝트는 원래 비대면 교육이지만, 코로나 거리두기로 인하여 일단은 2주간 온라인 교육을 실시하였고, 엘리스에 올라온 강의를 듣는것이다. 이어드림 프로젝트동안 매일 공부한 내용을 정리해서 올리기로 목표를 세웠지만, 벌써부터 지키지 못하고 있지만 열심히 해보려고 한다. 강의 내용을 정리해서 올리는 형식이 아닌 강의에서 배운 내용중 공부가 더 필요한 부분을 구글링을 통해 개별로 공부하면서 정리할 것이다.

append(), extend(), insert() 함수비교

세 개의 함수 모두 요소를 추가할 수 있는 함수이다.

append()함수

리스트 형태의 data의 마지막에 하나를 추가하는 함수

numbers = [5, 6, 7]
numbers.append(1)
>>>[5, 6, 7, 1]

#리스트가 하나의 객체로 추가도 가능
numbers.append[5, 6])
[5, 6, 7, 1, [5, 6]]

extend()함수

리스트 마지막에 iterable의 모든 항목을 추가하는 함수이다. append()함수와 다르게 추가되는 요소가 iterable이 자료형이라도 자료 하나의 요소로 추가된다.

numbers = [5, 6, 1]
numbers.extend([1, 2])
>>>[5, 6, 1, 1, 2]

iterable의 의미는 member를 하나씩 차례로 반환 가능한 object를 말한다.
iterable의 예로는 list, str, tuple이 대표적이다.

insert()함수

리스트 형태의 data에 원하는 위치(인덱스)와 원하는 값을 추가하는 함수이다.

//맨 앞(인덱스0번째)에 추가
numbers = [5, 6, 7]
numbers.insert(0, [10, 20])
>>>[[10, 20], 5, 6, 7]

//끝에서 1번째에 추가
numbers.insert(-1,999)
>>>[[10, 20], 5, 6, 999, 7]

인덱스 음수는 끝에서 부터 -1, -2, -3...이다. 예를 들면 7의 인덱스 값은 -1이고, 999는 -2이다.

리스트(list)와 튜플(tuple) 딕셔너리(Dictionary)차이

  • 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러싼다.
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다!!

리스트와 모습은 거의 비슷하지만 튜플에서는 리스트와 다른 2가지 차이점을 찾아볼 수 있다. t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다는 것과 t4 = 1, 2, 3처럼 괄호( )를 생략해도 무방하다는 점이다.

얼핏 보면 튜플과 리스트는 비슷한 역할을 하지만 프로그래밍을 할 때 튜플과 리스트는 구별해서 사용하는 것이 유리하다. 튜플과 리스트의 가장 큰 차이는 값을 변화시킬 수 있는가 여부이다. 즉 리스트의 항목 값은 변화가 가능하고 튜플의 항목 값은 변화가 불가능하다. 따라서 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고 싶지 않다면 주저하지 말고 튜플을 사용해야 한다. 이와는 반대로 수시로 그 값을 변화시켜야할 경우라면 리스트를 사용해야 한다. 실제 프로그램에서는 값이 변경되는 형태의 변수가 훨씬 많기 때문에 평균적으로 튜플보다는 리스트를 더 많이 사용한다.(점프 투 파이썬-튜플 자료형 인용)

딕셔너리에는 Key는 고유한 값이므로 중복되는 Key값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다는 점을 주이해야 한다. 그리고 Key에는 리스트는 쓸 수 없지만, 튜플은 가능하다. 왜냐하면, 리스트는 변할 수 있는 값이기 때문이다.

딕셔너리는 Key를 사용해 Value를 얻을 수 있다.

>>> grade = {'pey': 10, 'julliet': 99}
>>> grade['pey']
10
>>> grade['julliet']
99

위와 같이 딕셔너리 변수[키값]을 통해 Value를 얻을 수 있는데, 앞에서 리스트나 튜플의 인덱스를 통해 호출하는 것과 같지만, 엄연히 전혀 다르다. 리스트나 튜플은 [1]은 두번째 요소를 말하는 것이고, 딕셔너리는 키값이 1인 vaule를 뜻하는 것이다.

느낀점

  • 앞으로 코딩할때 list 및 문자열을 자유자재로 만질 줄 알아야 하므로 제대로 알 필요가 있다.

참고 사이트

https://redcow77.tistory.com/360 -append(), extend(), insert함수 정리
https://bluese05.tistory.com/55 -iterable 과 iterator의 의미
https://emilkwak.github.io/python-list-indexing-slicing-using-minus-integer - 리스트 인덱싱&슬라이싱에 음의 값
https://wikidocs.net/1015 - 점프 투 파이썬

profile
구상한것을 구현할 수 있는 개발자가 되고 싶습니다.

0개의 댓글