파이썬 version 2.7.13 과 version 3.7.3을 노트북에 동시에 올려서 사용중이라서 

명령어가 python3, pip3로 이미지에 올라가 있습니다!

 

파이썬 버전 1개만 사용중이시면 "pip install beatifulsoup4" 명령어를 사용하시면 됩니다.

 

cmd 창에서 python을 실행한 후 

import bs4

bs

명령어를 이용하여 정상적으로 beatifulsoup4가 설치되었는지 확인

 

Beatifulsoup4 설치 완료~~~

 

 

 

 

 

'Language > Python' 카테고리의 다른 글

[Python] 크롤링 기초 스크레이핑  (0) 2021.04.12
[Python] 딕셔너리 관련 함수들  (0) 2020.03.02
[Python] 딕셔너리 자료형 주의점  (0) 2020.03.02
[Python] 튜플  (0) 2020.01.21
[Python] 리스트 생성하기  (0) 2020.01.21

Key 리스트 만들기(keys)

a.keys()는 딕셔너리 a의 Key만을 모아서 dict_keys 객체를 돌려준다.

더보기

[파이썬 3.0 이후 버전의 Keys 함수, 어떻게 달라졌나?]

파이썬 2.7 버전까지는 a.keys() 함수를 호출할 때 반환 값으로 dict_keys 가 아닌 리스트를 돌려준다. 리스트를 돌려주기 위해서는 메모리 낭비가 발생하는 파이썬 3.0 이후 버전에서는 이러한 메모리 낭비를 줄이기 위해 dict_keys 객체를 돌려준다. 다음에 소개할 dict_values, dict_items 역시 파이썬 3.0 이후 버전에서 추가된 것들이다. 만약 3.0 이후 버전에서 반환 값으로 리스트가 필요한 경우에는 list(a.keys())를 사용하면 된다. dict_keys, dict_values, dict_items 등은 리스트로 변환하지 않더라도 기본적인 반복(iterate) 구문(예: for구문)을 실행할 수 있다.

dict_keys 객체는 다음과 같이 사용할 수 있다. 리스트를 사용하는 것과 차이가 없지만, 리스트 고유의 append, insert, pop, remove, sort 함수는 수행할 수 없다.

※ print(k)를 입력할 때 들여쓰기를 하지 않으면 오류가 발생하니 주의. 

 

dict_keys 객체를 리스트로 변환하려면 다음과 같이 하면 된다.

 

Value 리스트 만들기(values)

Key를 얻는 것과 마찬가지 방법으로 Value만 얻고 싶다면 values 함수를 사용하면 된다. values 함수를 호출하면 dict_values 객체를 돌려준다.

 

 Key, Value 쌍 얻기(items)

items 함수는 key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다. dict_values 객체와 dict_items 객체 역시 dict_keys 객체와 마찬가지로 리스트를 사용하는 것과 동일하게 사용할 수 있다.

 

Key: Value 쌍 모두 지우기(clear)

clear 함수는 딕셔너리 안의 모든 요소를 삭제한다. 빈 리스트를 [ ], 빈 튜플을 ( )로 표현하는 것과 마찬가지로 빈 딕셔너리도 { }로 표현한다.

 

 Key로 Value얻기(get)

get(x) 함수는 x라는 Key에 대응되는 Value를 돌려준다. 앞에서 살펴보았듯이 a.get('name')은 a['name']을 사용했을 때와 동일한 결괏값을 돌려받는다.

 

다만 다음 예제에서 볼 수 있듯이  a['nokey']처럼 존재하지 않는 키(nokey)로 값을 가져오려고 할 경우 a['nokey']는 Key 오류를 발생시키고 a.get('nokey')는 None을 돌려준다는 차이가 있다. 

딕셔너리 안에 찾으려는 Key 값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때에는 get(x, '디폴트 값')을 사용하면 편리하다.

a 딕셔너리에는 'foo'에 해당하는 값이 없다. 따라서 디폴트 값인 'bar'를 돌려준다.

 

해당 Key가 딕셔너리 안에 있는지 조사하기(in)

'name' 문자열은 a 딕셔너리의 Key 중 하나이다. 따라서 'name' in a를 호출하면 참(True)을 돌려준다.

반대로 'email'은 a 딕셔너리 안에 존재하지 않는 key이므로 거짓(False)을 돌려준다.

https://wikidocs.net/16

'Language > Python' 카테고리의 다른 글

[Python] 크롤링 기초 스크레이핑  (0) 2021.04.12
[Python] beatifulsoup4 설치  (0) 2021.04.07
[Python] 딕셔너리 자료형 주의점  (0) 2020.03.02
[Python] 튜플  (0) 2020.01.21
[Python] 리스트 생성하기  (0) 2020.01.21

딕셔너리에서 Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시된다

동일한 Key가 2개 존재할 경우 1:'a' 쌍이 무시된다.

 

이렇게 Key가 중복되었을 때 1개를 제외한 나머지 Key:Value 값이 모두 무시되는 이유는 Key를 통해서 Value를 얻는 딕셔너리의 특징에서 비롯된다.

즉, 동일한 Key가 존재하면 어떤 Key에 해당하는 Value를 불러야 할지 알 수 없기 때문이다.

 

* Key에는 리스트를 쓸 수 없다. 하지만 튜플은 Key로 쓸 수 있다.

딕셔너리의 Key로 쓸 수 있느냐 없느냐는 key가 변하는 값인지 변하지 않는 값인지에 달려있다.

리스트는 그 값이 변할 수 있기 때문에 key로 쓸 수 없다.

단, Value에는 변하는 값이든 변하지 않는 값이든 상관없이 아무 값이나 넣을 수 있다.

 

https://wikidocs.net/16

'Language > Python' 카테고리의 다른 글

[Python] beatifulsoup4 설치  (0) 2021.04.07
[Python] 딕셔너리 관련 함수들  (0) 2020.03.02
[Python] 튜플  (0) 2020.01.21
[Python] 리스트 생성하기  (0) 2020.01.21
[Python] 문자열 공백 지우기  (0) 2020.01.15

튜플(tuple)은 몇 가지 점을 제외하곤 리스트와 거의 비슷하며 리스트와 다른 점은 다음과 같다

- 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러싼다

- 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

 

t1 = ()
t2 = (1,)
t3 = (1,2,3)
t4 = 1,2,3
t5 = ('a','b',('ab','cd'))

리스트와 튜플의 차이점 2가지

t2 = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야한다

t4 = 1,2,3처럼 괄호()를 생략해도 무방하다

 

=> 프로그램이 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 걱정하고 싶지 않다면

튜플

 

1. 튜플 요소값을 삭제하려 할 때

t1 = (1,2,'a','b')
del t1[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module> 
TypeError: 'tuple' object doesn't support item deletion

 

2. 튜플 요소값을 변경하려 할 때

t1 = (1,2,'a','b')
t1[0]='c'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

 

 a = []
 b = [1, 2, 3]
 c = ['Life', 'is', 'too', 'short']
 d = [1, 2, 'Life', 'is']
 e = [1, 2, ['Life', 'is']]
 aa = list() //비어있는 리스트 생성
 

리스트 안에는 어떠한 자료형도 포함시킬 수 있다.

비어있는 리스트는 aa = list()로 생성할 수 있다.

참고 : 점프 투 파이썬

왼쪽공백지우기 -> lstrup()

오른쪽공백지우기 -> rstrip()

양쪽공백지우기 -> strip()

참고 : 점프 투 파이썬

 

 

python 문자열 포매팅 시 문자열 포맷  코드(%d, %s , 등)이나 format 함수를 이용하여 문자열 포매팅이 가능하다!

 

 

참고 : 점프 투 파이썬

또한 {0}, {1}과 같은 인덱스 항목 대신 더 편리한 {name} 형태를 사용하는 방법과 인덱스 항목과 name=value 형태를 혼용하는 것도 가능하다!

+ Recent posts