정신없는 삶의 연속이었다. 아직 해결되지 않은 문제들이 있어 신경 써야할 것은 아직 많네.
List [ ] == mutable (값을 변경 가능)
: 여러개의 값을 함께 모아서 저장한다.
: 들어가는 값들은 같아도 달라도 상관없다. 한번 넣었던 것을 빼거나 넣거나 등의 수정이 가능하다.
#[ val1, val2, ... ]
>>> my_list = []
>>> my_list
[]
>>> type(my_list)
<class 'list'>
>>>
>>>
>>> my_list = [1, 2, 3]
>>> my_list
[1, 2, 3]
리스트 전용함수
- append() : list name.append('Ran')
>>> my_list.append('Ran')
>>> my_list
[1, 2, 3, 'Ran']
❗️humans.append('Ran')하면 오류가 생긴다. humans라는 것은 없다. 그래서 'Ran'을 담을 수 있는 곳도 없다. list가 그릇이기에 |
- sort() : 리스트의 정렬 ㄱㄴㄷㄹ 순차적으로 정리해주는 것.
>>> animals.sort()
>>> animals
['땅다람쥐', '땅다람쥐', '바다코끼리', '아나콘다', '코뿔소', '코알라', '하이에나']
- count() : list안에 든 특정 값의 갯수를 알려줌
>>> animals
['코알라', '하이에나', '코뿔소', '땅다람쥐', '아나콘다', '바다코끼리']
>>>
>>>
>>> animals[1:3]
['하이에나', '코뿔소']
>>>
>>>
>>>
>>> animals.append('땅다람쥐')
>>> animals.count('땅다람쥐')
2
- len : 리스트 안에 총 몇개가 있나?
>>> animals = ['코알라', '하이에나', '코뿔소', '땅다람쥐', '바다코끼리', '아나콘다']
>>> len(animals)
6
indexing
리스트 내용 수정 | 삭제하기
- del
>>> animals = ['코알라', '하이에나', '코뿔소', '땅다람쥐', '바다코끼리', '아나콘다']
>>> animals
['코알라', '하이에나', '코뿔소', '땅다람쥐', '바다코끼리', '아나콘다']
>>> animals[3]
'땅다람쥐'
>>> del animals[4] #del은 특정index 삭제
>>> animals
['코알라', '하이에나', '코뿔소', '땅다람쥐', '아나콘다']
- slicing
>>> animals.append('바다코끼리')
>>> animals
['코알라', '하이에나', '코뿔소', '땅다람쥐', '아나콘다', '바다코끼리']
>>>
>>>
>>> animals[1:3]
['하이에나', '코뿔소']
리스트 관한 참고사이트
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
여기서 드는 의문점은 하나였던 같을 거라고 생각했던 메소드와 함수의 차이점이 보이기 시작했다. 내 뇌피셜은 아직 호기심 덩어리이기에 구글의 힘을 빌려서 알아보았다. 함수는 function을 의미하고 메소드는 클래스 내부에 선언된 함수를 얘기한다. 한마디로 함수가 메소드보다 더 큰 의미라는 것이다. 자바 같은 객체지향언어의 경우에는 함수 자체가 특정 클래스 안에 선언되는 경우가 많아 함수보다는 메소드라는 말을 더 많이 사용한다.
tuple ( )
: 값 변경 불가능
>>> my_tuple = (1, 2, 3)
>>> type(my_tuple)
<class 'tuple'>
>>> my_tuple = 1, 2, 3
>>> type(my_tuple)
<class 'tuple'>
#괄호를 넣든 안넣든 동일한 결과 값을 가진다.
- packing : 여러개의 값을 묶는 것
>>> my_tuple = 1, 2, 3
- unpacking : 값을 푸는 것
>>> my_tuple = 1, 2, 3
>>> type(my_tuple)
<class 'tuple'>
>>>
>>> num1, num2, num3 = my_tuple
>>> num1
1
>>> num3
3
>>> num1, num3 = num3, num1 #왼쪽 언패킹 = 오른쪽 패킹
>>> num3
1
- range() 내장함수
>>> range(3)
range(0, 3)
>>> type(range(3))
<class 'range'>
>>> for n in range(0,3) : #0부터 2까지 출력된다. slicing 얘랑 비슷
print(n)
0
1
2
for
: 반복 되는 것들을 처리하는 것
for 변수 in container(list, string...) :
1234실행할 명령1
1234실행할 명령2
❗️실행할 명령들을 코드블럭이라고 한다 코드블럭을 구분을 어떻게 하는가? : 과 4개의 들여쓰기를 통해서 한다. |
>>> for animal in animals:
print(animal)
코알라
하이에나
코뿔소
땅다람쥐
바다코끼리
아나콘다
>>> for number in [1, 3, 7] :
print(number)
1
3
7
for문 중첩사용
>>>for i in range(1, 10):
print('{}*{}={}'.format(2, i, 2*i))
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
for n in range(2,11):
for i in range(1, 10):
print('{}*{}={}'.format(n, i, n*i))
#for문을 두번 사용했어
'일레븐 스터디 > 파이썬' 카테고리의 다른 글
미운코딩새끼#4 | 데이터 과학을 위한 파이썬 입문 #2-3 (0) | 2020.04.17 |
---|---|
미운코딩새끼#3 | python 챌린지#1 (0) | 2020.04.15 |
파이썬 - 초단기 속성 파이썬강의 | 미운코딩새끼#1 (0) | 2020.04.06 |
댓글