Programming/Python 웹 스크래퍼 만들기

Python List, Tuple, Dict 복습

Security Engineer 2022. 11. 10. 21:00

4.4 Recap

< Method >

메서드(method)는 데이터에 연결된, 즉 결합된 function(함수) 이다. 데이터의 안에 있다.

다양한 메서드를 사용할 수 있다.

upper 메서드는 문자열을 대문자로 변환해 준다.

print('computer'.upper())

출력값:

COMPUTER

endswith 메서드는 끝 문자가 ( ) 안의 문자와 일치하는지 True , False 로 나타내준다.

print('computer'.endswith('e')) 
print('computer'.endswith('r'))

출력값:

False

True

위와 같이 메서드를 사용할 때 데이터 뒤에 . 점을 찍고 메서드를 사용하면 된다.

메서드는 함수처럼 사용하며, 소괄호 ( ) 를 쓰면 실행한다.

< List >

list 는 값들의 목록을 정렬할 수 있게 해준다.

리스트는 user가 원하는 값을 어떤 것이든 리스트로 만들 수 있게 해준다.

append 와 clear 메서드를 사용해서 값을 추가하고 지워본다.

numbers = [5,3,1,2,"sdfs",True,2321] 
numbers.append(['🍕','🍿','🍗']) 

print(numbers) 
numbers.clear() 
print(numbers)

출력값:

[5, 3, 1, 2, 'sdfs', True, 2321, ['🍕', '🍿', '🍗']]

[]

리스트는 특정 아이템에 접근 할 때 인덱스로 접근할 수 있다.

인덱스는 0,1,2,3 이런 순서로 접근 할 수 있다.

반대로 -1,-2,-3,-4 역순으로도 접근 할 수 있다.

numbers 의 True 와 append 로 추가한 이모지 들을 불러온다.

append 하면, 그 값은 리스트의 맨 끝에 추가된다.

numbers = [5,3,1,2,"sdfs",True,2321] 
numbers.append(['🍕','🍿','🍗']) 

print(numbers[5]) 
print(numbers[7]) 
print(numbers[-3])

출력값:

True

['🍕', '🍿', '🍗']

True

numbers = [5,3,1,2,"sdfs",True,2321,[1,2,3,4,7]]

리스트 안에 리스트를 또 만들수도 있다.

숫자, 문자, boolean, 리스트 형태도 가능하다.

이처럼 리스트는 mutable(변경가능)한 값들의 연속체를 만들게 한다.

mutable 은 생성 이후에도 값 변경이 가능하다는 것을 뜻한다.

만약 데이터값이 변하지 않는 것을 원한다면 튜플을 만들면 된다.

< Tuple >

튜플은 소괄호 ( ) 로 생성된다.

리스트는 대괄호 [ ] 로 생성된다.

변수를 만들어서 ( ) 와 함께 안에 값들을 넣으면 된다.

어떤 타입의 값이든 상관이없다. ( string,number,boolean ...)

다만 튜플은 생성 이후에 더 이상 변경할 수 없다.

리스트와 마찬가지로 인덱스로 접근할 수 있다.

numbers = (1,2,3,4,4,True,"xxxx") 

print(numbers[-1]) 
print(numbers.count(4)) 
print(numbers.count(2))

출력값:

xxxx

2

1

위에서 사용한 count 메서드는 ( ) 안의 인자가 튜플안에 몇 개 있는지 세어주는 메서드이다.

count(4) = 4 라는 인자가 튜플 안에 몇개 있는지 → 2개

count(2) = 2 라는 인자가 튜플 안에 몇개 있는지 → 1개

< Dict >

딕셔너리는 더 복잡한 데이터 구조를 만들 때 유용하게 사용할 수 있다.

튜플은 소괄호 ( ) 로 생성된다.

리스트는 대괄호 [ ] 로 생성된다.

딕셔너리는 중괄호 { } 로 생성된다.

Key 와 Value 로 되어있는 백과사전이다.

Key = 단어

Value = 정의

ex) apple : 사과

딕셔너리 안에 string, number, boolean , tuple, list, dict 등 여러 타입을 넣을 수 있다.

player ={ 'name':'minsoo', 'age':20, 'alive':True, 
'sports': ('⚽','🏀'), 'friend':{ 'name':'kiyoung', 'sports':['⚾','🎳'] } }

 

인덱스를 사용해서 딕셔너리 내의 특정 key 의 value 도 출력할 수 있으며

딕셔너리 내의 특정 key 와 value 를 출력,

딕셔너리 내의 딕셔너리의 value 도 출력할 수 있다.

player ={ 'name':'minsoo', 'age':20, 'alive':True, 
'sports': ('⚽','🏀'), 'friend':{ 'name':'kiyoung', 'sports':['⚾','🎳'] } } 

print(player['sports'][0]) 
print(player['sports']) 
print(player['friend']['sports'])

출력값:

('⚽', '🏀')

['⚾', '🎳']

또한 딕셔너리는 mutable(변화가능) 하기 때문에 안의 내용을 변경할 수 있다.

데이터를 추가 및 삭제가 가능하다.

'sports' key 의 value 를 🏓 로 변경하고, ('⚽','🏀') → ('🏓')

pop 메서드를 사용하여 'alive'라는 key 를 삭제 하고,

'player' 딕셔너리 안에 'friend' 딕셔너리에 'sports' key 에 append 를 사용하여 리스트에 🏈 을 추가하였다.

player ={ 'name':'minsoo', 'age':20, 'alive':True, 
'sports': ('⚽','🏀'), 'friend':{ 'name':'kiyoung', 'sports':['⚾','🎳'] } } 

player['sports'] = '🏓' 
player.pop('alive') 
player['friend']['sports'].append('🏈') 

print(player)

 

출력값:

{'name': 'minsoo', 'age': 20, 'sports': '🏓', 'friend': {'name': 'kiyoung', 'sports': ['⚾', '🎳', '🏈']}}

딕셔너리는 이와 같이 user 정보를 그 안에 넣어 변경하고 추가하고 삭제 할 수 있는 좋은 데이터 구조 이다.

이름, 이메일 , 비밀번호, 연락처 등등