printf("ho_tari\n");
자료구조 본문
<stack.py>
word = input("Input a word: ")
world_list = list(word)
print(world_list)
result = []
for _ in range(len(world_list)):
result.append(world_list.pop())
print(result)
print(word[::-1])
<compile 결과>
<tuple.py>
s = set([1, 2, 3, 1, 2, 3]) # set() 함수를 사용하여 1, 2, 3을 세트 객체로 생성
print(s)
s.add(1) # 1을 추가하는 명령이지만 중복 불허로 추가되지 않음
print(s)
s.remove(1) # 1 삭제
print(s)
s.update([1, 4, 5, 6, 7]) # [1, 4, 5, 6, 7] 추가
print(s)
s.discard(3) # 3 삭제
print(s)
s.clear() # 모든 원소 삭제
print(s)
s1 = set([1, 2, 3, 4, 5])
s2 = set([3, 4, 5, 6, 7])
print(s1.union(s2)) # s1과 s2의 합집합
print(s1 | s2) # set([1, 2, 3, 4, 5, 6, 7])
print(s1.intersection(s2)) # s1과 s2의 교집합
print(s1 & s2) # set([3, 4, 5])
print(s1.difference(s2)) # s1과 s2의 차집합
print(s1 - s2) # set([1, 2])
<compile 결과>
<dictionary.py>
country_code = {} # 딕셔너리 생성
country_code = {"America": 1, "Korea": 82, "China": 86, "Japan": 81}
print(country_code)
print(country_code.keys()) # 딕셔너리의 키만 출력
country_code["German"] = 49 # 딕셔너리 추가
print(country_code)
print(country_code.values()) # 딕셔너리의 값만 출력
print(country_code.items()) # 딕셔너리의 데이터 출력
for k, v in country_code.items():
print("Key:", k)
print("Value:", v)
print("Korea" in country_code.keys()) # 키에 "Korea"가 있는지 확인
print(82 in country_code.values()) # 값에 82가 있는지 확인
<compile 결과>
<deque.py>
from collections import deque
deque_list = deque()
deque_list2 = deque()
for i in range(5):
deque_list.append(i)
print(deque_list)
deque_list.pop()
print(deque_list)
deque_list.pop()
print(deque_list)
deque_list.pop()
print(deque_list)
for i in range(5):
deque_list2.appendleft(i)
print(deque_list2)
print(deque(reversed(deque_list2)))
deque_list2.rotate(2)
print(deque_list2)
deque_list2.rotate(2)
print(deque_list2)
deque_list2.extend([5, 6, 7])
print(deque_list2)
deque_list2.extendleft([5, 6, 7])
print(deque_list2)
<compile 결과>
<ordereddict1.py>
d = {}
d['x'] = 100
d['l'] = 500
d['y'] = 200
d['z'] = 300
for k, v in d.items():
print(k, v)
<compile 결과>
<ordereddict2.py>
from collections import OrderedDict # OrderedDict 모듈 선언
d = OrderedDict()
d['x'] = 100
d['y'] = 200
d['z'] = 300
d['l'] = 500
for k, v in d.items():
print(k, v)
<compile 결과>
<ordereddict3.py>
def sort_by_key(t):
return t[0]
from collections import OrderedDict # OrderedDict 모듈 선언
d = dict()
d['x'] = 100
d['y'] = 200
d['z'] = 300
d['l'] = 500
for k, v in OrderedDict(sorted(d.items(), key=sort_by_key)).items():
print(k, v)
<compile 결과>
<defaultdict1.py>
from collections import defaultdict
d = defaultdict(lambda: 0) # Default 값을 0으로 설정
print(d["first"])
<compile 결과>
<defaultdict2.py>
from collections import defaultdict
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
d[k].append(v)
print(d.items())
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
<compile 결과>
<counter.py>
from collections import Counter
text = list("gallahad")
print(text)
c = Counter(text)
print(c)
print(c["a"])
c = Counter({'red': 4, 'blue': 2})
print(c)
print(list(c.elements()))
c = Counter(cats = 4, dogs = 8)
print(c)
print(list(c.elements()))
c = Counter(a = 4, b = 2, c = 0, d = -2)
d = Counter(a = 1, b = 2, c = 3, d = 4)
c.subtract(d) # c - d
print(c)
c = Counter(a = 4, b = 2, c = 0, d = -2)
d = Counter(a = 1, b = 2, c = 3, d = 4)
print(c + d)
print(c & d) # 두 객체에 같은 값이 있을 때
print(c | d) # 두 객체에서 하나가 포함되어 있다면, 그리고 좀 더 큰 값이 있다면 그 값으로 합집합 적용
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(11, y=22)
print(p)
print(p.x, p.y)
print(p[0] + p[1])
<compile 결과>
<textmining.py>
text = """A press release is the quickest and easiest way to get free
publicity. If well written, a press release can result in multiple
published artivles about your firm and its products. And that can mean new
prospects contacting you asking yout to sell to them.""".lower().split()
from collections import defaultdict
word_count = defaultdict(lambda: 0) # Default 값을 0으로 설정
for word in text:
word_count[word] += 1
from collections import OrderedDict
for i, v in OrderedDict(sorted(word_count.items(), key=lambda t: t[1], reverse=True)).items():
print(i, v)
<compile 결과>
'Python' 카테고리의 다른 글
파이썬 스타일 코드 II (lambda, map, asterisk, linear_algebra) (0) | 2023.10.16 |
---|---|
파이썬 스타일 코드 I (join, split, list_comprehension, loop, enumerate) (0) | 2023.10.16 |
문자열 (0) | 2023.10.16 |
함수 (0) | 2023.10.16 |
반복문 (0) | 2023.10.12 |