본문 바로가기
일레븐 스터디/파이썬

미운코딩새끼#2

by 긴모양 2020. 4. 12.

정신없는 삶의 연속이었다. 아직 해결되지 않은 문제들이 있어 신경 써야할 것은 아직 많네.

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문을 두번 사용했어

 

 

 

댓글