In [1]:
# 문자열 나누기 예시
birthday = '4/26/1992'
birthday.split('/')
Out[1]:
In [3]:
name_li = ['seulchan', 'suwon', 'dayoon']
name_li[2] = 'sui'
name_li
Out[3]:
In [12]:
animals = ['cow', 'cat', 'dog']
fruits = ['apple', 'grape']
animals += fruits
animals
Out[12]:
In [17]:
animals.insert(3, 'bird')
animals
# animals[3] 자리에 bird가 추가되었다
# index를 벗어나면 마지막에 추가된다.
Out[17]:
In [21]:
# 3.2.16 join/split 예제
friends = ['Harry', 'Ron', 'Hermine']
seperator = ' * '
joined = seperator.join(friends)
print(joined)
seperated = joined.split(seperator)
print(seperated)
seperated == friends
Out[21]:
In [23]:
marxes = ['Groucho', 'Chico', 'Harpo']
sorted_marxed = sorted(marxes) #sorted를 사용, sorted_marxed 라는 복사본 만듬
# 원본은 변경되지 않는다
print(sorted_marxed)
print(marxes)
In [29]:
numbers = [2, 1, 3, 5, 4]
numbers.sort(reverse=True) # 내림차순으로 정렬
numbers
Out[29]:
In [2]:
a = [1, 2, 3]
b = a.copy()
c = list(a)
d = a[:]
a[0] = 'testing'
print(a, b, c, d)
In [3]:
# 튜플 언패킹 예제
marx_tuple = ('Groucho', 'Chico', 'Harpo', )
In [6]:
a, b, c = marx_tuple
print(a, b, c)
In [7]:
a, b
Out[7]:
In [9]:
# 값 교환 예제
id_value = 'bartkim026'
password_val = 'password'
id_value, password_val = password_val, id_value
print(id_value, password_val) # 두개의 값이 바뀐 것을 확인할 수 있다
In [10]:
animal_li = ['cat', 'dow', 'cow']
tuple(animal_li)
Out[10]:
In [13]:
lol = [['a','b'], ['c','d'], ['e', 'f']] # 세 개의 리스트로 구성된 list
dict(lol)
Out[13]:
In [15]:
# 두 문자열로 된 리스트
los = ['ab', 'cd', 'ef']
dict(los) # 어떤 원리로 이렇게 되는건지 잘 모르겠다. 문자열이 두 개면 한개씩 value, key로 들어가는 듯 하다
Out[15]:
In [17]:
pythons_dict = {
'champman' : 'Graham',
'Cleese' : 'John',
'Idle' : 'Eric',
'Jones' : 'Terry',
'Palin' : 'Michael',
}
pythons_dict
Out[17]:
In [18]:
# 멤버 추가하기 - Terry Gilliam
pythons_dict['Gilliam'] = 'Gerry'
pythons_dict
Out[18]:
In [20]:
# 내용 수정하기: Gerry -> Terry
pythons_dict['Gilliam'] = 'Terry'
pythons_dict
Out[20]:
In [23]:
# get()함수 예제
pythons_dict.get('champman', 'not in dict')
Out[23]:
In [24]:
pythons_dict.get('no_name', 'not in dict')
Out[24]:
In [28]:
signals = {
"green":"go",
"yellow":"go faster",
"red":"smile for the camera"
}
signals.keys() # iterable key들을 보여줌
Out[28]:
In [29]:
# 이를 리스트로 쓰기위해서는
list(signals.keys())
Out[29]:
In [30]:
signals.items()
Out[30]:
In [32]:
drinks = {
'martini': {'vodka','vermouth'},
'black russian':{'vodka','kahlua'},
'white russian':{'cream', 'kahlua', 'vodka'},
'manhattan': {'rye', 'vermouth', 'bitters'},
'screwdriver': {'orange juice', 'vodka'},
} # value의 시퀀스는 set, drink 는 dict
In [36]:
#vodka 포함된 음료는?
for name, contents in drinks.items():
if 'vodka' in contents:
print(name)
In [38]:
#vodka는 포함되지만 vermouth, cream은 제외하고 싶다면?
for name, contents in drinks.items():
if 'vodka' in contents and not ('vermouth' in contents or 'cream' in contents):
print(name)
In [39]:
# 3.5.4 예제
# orange juice or vermouth가 든 음료를 마시고 싶을때
for name, contents in drinks.items():
if contents & {'vermouth', 'orange juice'}:
print(name)
In [42]:
# 위에서 했던 #vodka는 포함되지만 vermouth, cream은 제외하고 싶다면?
for name, contents in drinks.items():
if 'vodka' in contents and not contents & {'vermouth', 'cream'}:
print(name)
In [43]:
bruss = drinks['black russian']
wruss = drinks['white russian']
In [51]:
#교집합
a = {1, 2}
b = {2, 3}
a & b
a.intersection(b)
Out[51]:
In [47]:
bruss & wruss
Out[47]:
In [50]:
# 합집합
a|b
a.union(b)
Out[50]:
In [52]:
bruss|wruss
Out[52]:
In [56]:
# 차집합: - 를 통해 쉽게 할 수 있다
a - b
b - a
bruss - wruss
wruss - bruss
Out[56]:
In [57]:
# ^ (대칭 차집합: 한쪽에는 있고 양쪽 모드에 있는건 아님)
a ^ b
Out[57]:
In [58]:
bruss ^ wruss
Out[58]:
In [60]:
# <=, issubset() 함수: 부분집합 확인
bruss <= wruss
bruss.issubset(wruss)
Out[60]:
In [61]:
# >=, issuperset() 함수: 수퍼셋은 서브셋의 반대
wruss >= bruss
Out[61]:
In [63]:
# 3.7 예제
marxes = ["Groucho", "Chico", "Harpo"]
pythons = ["Chapman", "Cleese", "Jones"]
stooges = ["Moe", "Curly", "Larry"]
In [65]:
# 튜플의 각 요소는 리스트
tuple_of_lists = marxes, pythons, stooges # 튜플을 만들 떄는 () 안에 넣지 않아도 됨
tuple_of_lists
Out[65]:
In [66]:
# 세 리스트를 한 리스트에
list_of_lists = [marxes, pythons, stooges]
list_of_lists
Out[66]:
In [67]:
# 리스트의 딕셔너리
dict_of_lists = {
"Marxes": marxes,
"Pythons": pythons,
"Stooges": stooges
}
dict_of_lists
Out[67]:
In [72]:
## 3.8 연습문제
#3.1 출생년도에 대한 year_lists
year_lists = [1980, 1981, 1982, 1983, 1984]
# 3.2.
year_lists[2]
# 3.3
year_lists[-1]
# 3.4
things = ["mozzarella", "cinderella", "salmonella"]
# 3.5
things[1].title()
# 3.6
things[0].upper()
# 3.7
things.remove("salmonella")
In [83]:
# 3.8
surprise = ["Groucho", "Chico", "Harpo"]
# 3.9 마지막 요소를 소문자로 변경한 뒤, 단어를 역전시킨 후, 첫 글자를 대문자로
surprise[-1].lower()[::-1].title()
# 3.10
Out[83]:
In [97]:
# 3.10
e2f = {
'dog' : 'chien',
'cat' : 'chat',
'walrus': 'morse'
}
print(e2f)
In [85]:
# 3.11
f2e['walrus']
Out[85]:
In [98]:
f2e = {}
In [99]:
# 3.12 f2e dict를 이용해서 e2f 딕셔너리를 만들어라
for eng, fren in e2f.items():
f2e[fren] = eng
In [100]:
f2e
Out[100]:
In [101]:
# 3.13 f2e dict를 사용해서 chien을 의미하는 영어 출력
f2e['chien']
Out[101]:
In [106]:
# 3.14. ef2 의 eng key 출력
print(list(e2f.keys()))
# e2f.keys() 는 dict 자료 형태 -> 이를 list로 변경시켜야한다.
In [107]:
# 3.15
life = {
'animals':{
'cats':'Henri',
'octopi':'Grumpy',
'emus':'Lucy'
},
'plants': {},
'other':{}
}
In [108]:
#3.16 life의 최상위 키 출력
print(list(life.keys()))
In [109]:
# 3.17 life['animals']의 모든 키 출력
list(life['animals'].keys())
Out[109]:
In [110]:
life['animals']['cats']
Out[110]:
In [ ]:
'etc > introducing python: 처음 시작하는 파이썬' 카테고리의 다른 글
vim 작업 취소, undo, undo 되돌리기! (0) | 2017.03.12 |
---|---|
5장: 파이 포장하기- 모듈, 패키지, 프로그램 (0) | 2017.01.18 |
6장: 객체와 클래스 (0) | 2017.01.18 |
4장: 파이 크러스트- 코드 구조 (0) | 2017.01.13 |
2장: 파이 재료;숫자, 문자열, 변수 (0) | 2017.01.11 |