일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스몰토크
- 오피스밋업
- #체험수업
- #nlp
- 링글리뷰
- 해외취업컨퍼런스
- 링글경험담
- 영어공부법
- 뉴노멀챌린지
- #직장인영어
- 총각네장어
- 영어시험
- #영어발음교정
- 강동구장어맛집
- #Ringle
- #영어공부
- 성내동장어
- 둔촌역장어
- Ringle
- 링글커리어
- #링글
- 화상영어
- CommunicateWiththeWorld
- 영어로전세계와소통하기
- 링글
- 영어회화
- 소통챌린지
- 영어공부
- 장어랑고기같이
- #링글후기
- Today
- Total
Soohyun’s Machine-learning
[introducing Python] Notes 본문
복제하기
start = 'Na ' * 4 + '\n' middle = 'Hey' * 3 + '\n' end = 'Goodbye.' print(start + start + middle + end) |
slicing [start:end:step]
step 만큼 건너뛰면서 start offset 부터 (end - 1) offset까지 sequence 추출
letters = 'abcdefghijklmnopqrstuvwxyz' >>> letters[::7] # 처음부터 끝까지 7 step 씩 건너 뛰면서 문자 추출 'ahov' >>>letters[4:20:3] # 4번째부터 19번째까지 3 step 씩 건너 뛰면서 문자 추출 'ehknqt' >>>letters[19:4] # 19번째부터 끝까지 4 step 씩 건너 뛰면서 문자 추출 'tx' >>>letters[:21:5] # 처음부터 20번째까지 5 step 씩 건너 뛰면서 문자 추출 'afkpu' >>>letters[::-1] # 끝에서부터 시작 지점까지 빠짐없이 문자 추출 'zyxwvu... cba' |
control Str (string 제어하기)
poem = '''All that doth flow me cannot liquid name
or else would fire and water be the same;
But that is liquid which is moist and wet
Fire that property can never get.
Then 'tis not cold that doth the fire put out
But 'tis the wet that makes it die, no doubt.'''
처음 13자 출력하기
>>>poem[:13] 'All that doth'
|
All로 시작하나?
>>>poem.startswith('All') True
|
That's all, folks! 로 끝나나?
>>>poem.endswith('That\'s all, folks!') False
|
첫 번째로 the 가 나오는 offset은?
>>>word = 'the' >>>poem.find(word) 73
|
마지막으로 the 가 나오는 offset은?
>>>poem.rfind(word) 214
|
세 글자 the 가 몇 번 나오는가?
>>>poem.count(word) 3
|
이 시는 글자와 숫자로만 이루어져 있나?
>>>poem.isalnum() False # 구두점도 포함되어 있어서
|
리스트 자료형
Make list : [] or list()
>>>empty_list = []
|
또는
>>>empty_list = list()
|
다른 데이터 타입을 list로 변환 : list()
>>>list('cat') ['c','a','t']
|
튜플을 리스트로 변환
>>>a_tuple = ('ready','fire','aim') >>>list(a_tuple) ['ready','fire','aim']
|
'/' 구분자로 나누어서 리스트로 변환
>>>birthday = '1/6/2000' >>>birthday.split('/') ['1','6','2000']
|
리스트 병합하기 : extend() or +=
>>>love = ['love', 'you', 'jeon', 'in', 'soo'] >>>others = ['daisy', 'poppy', 'petal', 'river'] >>>love.extend(others) # love += others 같은 역할. 같은 결과값 >>>love ['love', 'you', 'jeon', 'in', 'soo', 'daisy', 'poppy', 'petal', 'river']
|
append()는 병합하지 않고 other를 하나의 리스트로 해서 추가시킨다.
>>>love.append(others) >>>love ['love', 'you', 'jeon', 'in', 'soo', ['daisy', 'poppy', 'petal', 'river']]
|
insert() : 원하는 위치에 항목을 추가한다.
>>>love.insert(0, 'I') >>>love ['I', 'love', 'you', 'jeon', 'in', 'soo']
|
del : offset 항목 삭제하기
>>>del love[-1] >>>love ['I', 'love', 'you', 'jeon', 'in']
|
remove() : 값으로 항목 삭제
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>others.remove('daisy') >>>others ['poppy', 'petal', 'river']
|
index() : 값으로 offset 찾기
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>others.index('poppy') 1
|
in : 존재여부 확인하기
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>'poppy' in others True
|
count() : 값 세기
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>others.count('poppy') 1
|
join() : 문자열로 변환하기
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>','.join(others) 'daisy, poppy, petal, river'
|
>>>friends = ['Harry', 'Hermione', 'Ron'] >>>separator = ' * ' >>>joined = separator.join(friends) >>>joined 'Harry * Hermione * Ron'
|
sort() : 리스트 자체를 내부적으로 정렬함 / sorted() : 리스트의 정렬된 복사본을 반화ㅏㄴ
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>sorted_olivers = sorted(others) >>>sorted_olivers ['daisy', 'petal', 'poppy', 'river'] # 알파벳순으로 정렬 >>>others ['daisy', 'poppy', 'petal', 'river'] # 원본은 변하지 않았다.
|
>>>others = ['daisy', 'poppy', 'petal', 'river'] >>>others.sort() ['daisy', 'petal', 'poppy', 'river'] # 원본이 정렬되었다.
|
할당 : = / 복사 : copy()
한 리스트를 2 variables 에 할당했을 경우, 한 리스트를 변경하면 다른 리스트도 따라서 변경된다. a를 바꿔도 b를 바꿔도 다른 한쪽에 적용됨.
>>>a = [1, 2, 3] >>>b = a >>>a[0] = 'surprise' >>>a ['surprise', 2, 3] >>>b ['surprise', 2, 3]
|
tuple : ()
>>>oliver_tuple = 'Poppy', # 뒤에 , (콤마)를 붙여서 tuple로 만든다 >>>oliver_tuple ('Poppy',)
|
tuple unpacking
>>>oliver_tuple = ('Poppy', 'Petal', 'Buddy', 'River') >>>a, b, c, d = oliver_tuple >>>a 'Poppy' >>>d 'River'
|
list -> tuple
>>>oliver_list = ['Poppy', 'Petal', 'Buddy', 'River'] >>>tuple(oliver_list) ('Poppy', 'Petal', 'Buddy', 'River')
|
Dictionary ( 비슷한 말 : associative array, hash, hashmap, dict )
>>>lol = [['a', 'b']. ['c', 'd'], ['e', 'f']] >>>dict(lol) {'c':'d', 'a':'b', 'e':'f'} ' |
>>>olivers = {'first':'Poppy', 'second':'Daisy', 'third':'Petal', 'fourth':'Buddy', 'fifth':'River'} >>>olivers['second'] = 'Alex' >>>olivers {'first':'Poppy', 'second':'Alex', 'third':'Petal', 'fourth':'Buddy', 'fifth':'River'}
|
update() : 딕셔너리 결합하기
>>>olivers = {'first':'Poppy', 'second':'Daisy', 'third':'Petal', 'fourth':'Buddy', 'fifth':'River'} >>>others = {'sixth_first':'Lion', 'sixth_second':'Lena'} >>>olivers.update(others) {'first':'Poppy', 'second':'Daisy', 'third':'Petal', 'fourth':'Buddy', 'fifth':'River', 'sixth_second':'Lena', 'sixth_first':'Lion'}
|
key와 del 로 삭제하기
>>>del olivers['sixth_second'] >>>olivers {'first':'Poppy', 'second':'Daisy', 'third':'Petal', 'fourth':'Buddy', 'fifth':'River', 'sixth_first':'Lion'}
|
clear() : 모든 항목 삭제
>>>olivers.clear() >>>olivers {}
|
key로 항목을 얻을 때, 해당 항목이 없을때 아래와 같이 출력하게 할 수 있다.
>>>olivers.get('Lena', 'Not in Olivers') 'Not in Olivers'
|
값을 지정하지 않으면 None, 아무것도 없는 게 나온다.
values() : dict의 모든 values 가져오기
>>>list(olivers.values()) ['Poppy','Daisy','Petal','Buddy','River','Lion']
|
items() : dict의 모든 key-values 얻기
>>>list(olivers.items()) [('first' ,'Poppy'), ('second','Daisy'), ('third','Petal'), ('fourth','Buddy'), ('fifth','River'), ('sixth','Lion')] |
Set
value는 버리고 key만 남은 dict와 동일. 각 key는 유일해야 하다는 것과 순서가 없다는 건 dict와 동일하며, 어떤 것이 존재하는지 여부만 판단하기 위해서 사용한다.
set() : 셋 생성
>>>empty_set = set() >>>even_numbers = {0, 2, 4, 6, 8} >>>even_numbers {0, 8, 4, 6, 2}
|
set() : data type 변환. 리스트, 문자열, 튜플, 딕셔너리로부터 중복된 값을 버린 셋 생성 가능. 딕셔너리에 set을 쓰면 key만 사용한다.
>>>set('olivers') {'o', 'l', 'i', 'v', 'e', 'r', 's'}
|
리스트에 'e'나 'i'같은게 2개씩 있어도 set에서는 하나씩만 나온다.
drinks = {
'martini' : {'vodka', 'vermouth'},
'black russian' : {'vodka', 'kahlua'},
'white russian' : {'cream', 'kahlua', 'vodka'},
'manhattan' : {'rye', 'vermouth', 'bitters'},
'screwdriver' : {'orange juice', 'vodka'}
}
값 테스트하기
>>>for name, contents in drinks.items(): ... if 'vodka' in contents and not ('vermouth' in contents or 'cream' in contents): ... print(name) screwdriver black russian
|
Combination 과 operator
set 값의 combination을 어떻게 확인할까? 오렌지 주스 혹은 vermouth가 들어있는 걸 찾으려고 하면?
set intersection operator 인 & (엠퍼샌드)를 써서 찾을 수 있다.
>>>for name, contents in drinks.items(): ... if contents & {'vermouth', 'orange juice'}: ... print(name) screwdriver martini manhattan
|
& operator의 결과는 우리가 비교하고자 했던 두 재료의 모든 항목이 포함된 set이다. contents에 두 쟈료가 없으면 &은 False로 간주되는 empty set을 반환한다.
vodka 는 들어있지만, cream이나 vermouth는 없었으면 좋겠다면?
>>>for name, contents in drinks.items(): ... if 'vodka' in contents and not contents & {'vermouth', 'cream'}: ... print(name) screwdriver black russian
|
a = {1, 2}
b = {2, 3}
exclusive (대칭 차집합) : 한쪽에만 있는 값
>>>a ^ b {1, 3} >>>a.symmetric_difference(b) {1, 3} >>>bruss ^ wruss # 값에서 서로 다른 재료를 찾는다 {'cream'}
|
<= operator issubset() : 첫번째 set이 두번째 set의 subset(부분집합)인지 체크
>>>a <= b False >>>a.issubset(b) False
|
black russian에 cream을 추가하면 white russian이 된다. 그래서 wruss는 bruss의 subset이다. >>>bruss <= wruss True |
모든 set은 자신의 subset인가? >>>a <= a True >>>a.issubset(a) True |
< operator : 첫번째 set이 두번째 set의 proper subset(진 부분집합)이 되려면 두 번째 set에는 첫번째 set의 모든 멤버를 포함한 그 이상의 멤버가 있어야 한다.
>>>a < b False >>>a < a False >>>bruss < wruss True
|
superset은 subset의 반대다. >= 나 issuperset() 을 사용해서 첫번째 set이 두번째 set의 superset인지 보자
>>>a >= b False >>>a.issuperset(b) False >>>wruss >= bruss True
|
모든 set은 자신의 superset이다. >>>a >= a True >>>a.issuperset(a) True |
이걸 반대로 < 로 해서 반대 방향으로 체크할 수도 있다. (기능은 동일하며 방향만 바뀌는것)
중복 리스트 만들기
>>>first_oliver = ['Poppy', 'oliver'] >>>second_oliver = ['Daisy','oliver'] >>>third_oliver = ['Petal', 'oliver'] >>>olivers = first_oliver, second_oliver, third_oliver >>>olivers [['Poppy', 'oliver'], ['Daisy','oliver'], ['Petal','oliver']]
|
리스트들의 딕셔너리 만들기
>>>dict_olivers = {'first':first_oliver, 'second':second_oliver, 'third':third_oliver} >>>dict_olivers {'first':['Poppy','oliver'], 'secoond':['Daisy','oliver'], 'third':['Petal','oliver']}
|
tuple은 dict의 key가 될 수 있다.
tuple_olivers = { (first, female, father}: 'Poppy', (third, female, father}: 'Petal', (fourth, male, mother}: 'Buddy' }
|
'Machine Learning > misc' 카테고리의 다른 글
Startup & developer (0) | 2017.11.10 |
---|---|
SNU Math + Machine learning course (0) | 2017.11.10 |
기호 (0) | 2017.10.22 |
용어 이해 (0) | 2017.10.13 |
신경망 뼈대 구축하기 (0) | 2017.10.13 |