Self-Improvement
Head First Python 3장 본문
*리스트
리스트를 기본 복사를하면 같은 자원을 공유하게됨
second = first
second와 first의 값이 복사가 되어진것 같지만 second 리스트에 값을 넣고 확인하면 first에도 값이 같이 들어가게 되어 공유가 되어진 것이다.
리스트를 복사를 할 경우에는 copy()라는 함수를 사용하면 되어진다.
*딕셔너리
딕셔너리의 데이터는 순서가 없으며 키값을 이용하여 찾는다.
딕셔너리를 포함하는 딕셔너리
people['ford']={ 'name': 'ford prefece', 'Gender': 'male'}
people['ford']['name'] 하면 ford의 들어있는 name 값이 출력됨
*집합
집합은 중복을 허용하지 않으며 삽입 순서를 유지하지 않는다
vowels = {'a', 'a', 'b', 'c', 'c'}
print (vowels) 하면 중복된 값을 제외하고 출력이 된다.
set()함수를 이용하여 쉽게 집합을을 만들수 있다.
vowels= set('abcc')
집합의 합집합은 union
집합의 교집합은 intersection
집합의 차집합은 difference
*튜플
튜플은 데이터가 변하지 않는 특징을 가지며 하나의 데이터만 입력시엔 아래처럼 해야한다.
tuple = ('a',)
※하나의 데이터를 넣을떈 콤마를 넣어줘야함
콤마를 안하게 되면 str타입으로 되어진다.
*vowels4.py 예제
#! /usr/bin/python3
vowels = ['a', 'e', 'i', 'o', 'u'] #리스트를 생성
word = input ("Provide a word to search for vowels: ") #키보드로 받음
found = {} #빈 딕셔너리 만듬
for letter in word:
if letter in vowels:
found.setdefault(letter,0) #setdafault()는 존재하지 않으면 생성을 시킴 ( 생성안하고 값을 넣게되면 오류)
found[letter] += 1 #해당 값을 +1 한다
for k,v in sorted(found.items()): #sorted()는 정렬하게 해준다.
print(k, 'was found', v, 'time(s).')
---------------------------------------------------
*vowels7.py 예제
#! /usr/bin/python3
vowels = set('aeiou') #set()함수는 집합으로 만들어줌
word = input("Provide a word to search for vowels: ")
found = vowels.intersection(set(word)) #intersection은 교집합으로 vowels와 word의 중복되는걸 found로
for vowel in found:
print(vowel)
---------------------------------------------------
'프로그래밍 > Python' 카테고리의 다른 글
python request 모듈 (0) | 2018.10.21 |
---|---|
Head First Python 5-1장 (0) | 2018.10.21 |
Head First Python 4장 (0) | 2018.10.21 |
Head First Python 2장 (0) | 2018.10.21 |
Head First Python 1장 (0) | 2018.10.21 |