printf("ho_tari\n");
파이썬 스타일 코드 I (join, split, list_comprehension, loop, enumerate) 본문
<join.py>
colors = ['red', 'blue', 'green', 'yellow']
result = ''.join(colors) # join()을 활용하여 리스트의 각 요소를 빈칸 없이 연결
print(result)
result = ''.join(colors) # 연결 시, 1칸을 띄고 연결
print(result)
result = ', '.join(colors) # 연결 시 ","로 연결
print(result)
result = '-'.join(colors) # 연결 시 "-"로 연결
print(result)
<compile 결과>
<split.py>
items = 'zero one two three'.split() # 빈칸을 기준으로 문자열 분리
print(items)
example = 'python,jquery,javascript' # ","를 기준으로 문자열 나누기
example.split(",")
print(example)
a, b, c = example.split(",") # 리스트에 있는 각 값을 a, b, c 변수로 언패킹
print(a, b, c)
example = 'thepython.univ.edu'
subdomain, domain, tld = example.split('.') # "."을 기준으로 문자열 나누기 - 언패킹
print(subdomain, domain, tld)
<compile 결과>
<list_comprehension.py>
# 일반적인 반복문 + 리스트
result = []
for i in range(10):
result.append(i)
print(result)
# 리스트 컴프리헨션
result = [i for i in range(10)]
print(result)
# 일반적인 반복문 + 리스트
result = []
for i in range(10):
if i % 2 == 0:
result.append(i)
print(result)
# 리스트 컴프리헨션
result = [i for i in range(10) if i % 2 == 0]
print(result)
<compile 결과>
<nested_loop.py>
word_1 = "Hello"
word_2 = "World"
result = [i + j for i in word_1 for j in word_2] # 중첩 반복문
print(result)
case_1 = ["A", "B", "C"]
case_2 = ["D", "E", "A"]
result = [i + j for i in case_1 for j in case_2 if not(i==j)]
print(result)
<compile 결과>
<two_dimensional_list.py>
words = 'The quick brown fox jumps over the lazy dog'.split()
print(words)
stuff = [[w.upper(), w.lower(), len(w)] for w in words] # 리스트의 각 요소를 대문자, 소문자, 길이로 변환하여 이차원 리스트로 변환
for i in stuff:
print(i)
case_1 = ["A", "B", "C"]
case_2 = ["D", "E", "A"]
result = [i + j for i in case_1 for j in case_2]
print(result)
result = [[i + j for i in case_1] for j in case_2]
print(result)
<compile 결과>
<loop.py>
# 일반적인 반복문 + 리스트
def scalar_vector_product(scalar, vector):
result = []
for value in vector:
result.append(scalar * value)
return result
iteration_max = 10000
vector = list(range(iteration_max))
scalar = 2
for _ in range(iteration_max):
scalar_vector_product(scalar, vector)
# 리스트 컴프리헨션
iteration_max = 10000
vector = list(range(iteration_max))
scalar = 2
for _ in range(iteration_max):
[scalar * value for value in range(iteration_max)]
<enumerate.py>
for i, v in enumerate(['tic', 'tac', 'toe']): # 리스트에 있는 인덱스와 값을 언패킹
print(i, v)
print({i:j for i, j in enumerate('PYTHON is an language of programming.'.split())})
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for a, b in zip(alist, blist):
print(a, b) # 병렬로 값을 추출
a, b, c = zip((1, 2, 3), (10, 20, 30), (100, 200, 300))
print(a, b, c)
print([sum(x) for x in zip((1, 2, 3), (10, 20, 30), (100, 200, 300))])
alist = ['a1', 'a2', 'a3']
blist = ['b1', 'b2', 'b3']
for i, (a, b) in enumerate(zip(alist, blist)):
print(i, a, b) # (인덱스, alist[인덱스], blist[인덱스]) 표시
<compile 결과>
'Python' 카테고리의 다른 글
객체 지향 프로그래밍 (0) | 2023.10.18 |
---|---|
파이썬 스타일 코드 II (lambda, map, asterisk, linear_algebra) (0) | 2023.10.16 |
자료구조 (0) | 2023.10.16 |
문자열 (0) | 2023.10.16 |
함수 (0) | 2023.10.16 |