Python Level 2 Ch.4

phillip yoonΒ·2021λ…„ 6μ›” 27일
0

πŸ“Œ Chapter4


πŸ’‘ Code

# μ‹œν€€μŠ€ν˜•
# μ»¨ν…Œμ΄λ„ˆ(Container : μ„œλ‘œλ‹€λ₯Έ μžλ£Œν˜•[list, tuple, collections.deque])
# Flat : ν•œ 개의 μžλ£Œν˜•[str,bytes,bytearray,array.array, memoryview]
# κ°€λ³€(list, bytearray, array.array, memoryview, deque) vs λΆˆλ³€(tuple, str, bytes)
# 리슀트 및 νŠœν”Œ κ³ κΈ‰
# 지λŠ₯ν˜• 리슀트(Comprehending Lists)

# Non Comprehending Lists
chars = '+_)(*$!%#@^~'
code_list1 = []
for s in chars:
    # μœ λ‹ˆμ½”λ“œ 리슀트
    code_list1.append(ord(s))
print(code_list1)

# Comprehending Lists
code_list2 = [ord(s) for s in chars]

print(code_list2)

# Comprehending Lists + Map, Filter
code_list3 = [ord(s) for s in chars if ord(s) > 40]
code_list4 = list(filter(lambda x : x > 40, map(ord, chars))) # map(ν•¨μˆ˜, 리슀트)

print(code_list3)
print(code_list4)
print([chr(s) for s in code_list1])
print([chr(s) for s in code_list2])
print([chr(s) for s in code_list3])
print([chr(s) for s in code_list4])
print()
print()

# Generator 생성
import array

# Generator : ν•œ λ²ˆμ— ν•œ 개의 ν•­λͺ©μ„ 생성(λ©”λͺ¨λ¦¬ μœ μ§€ X)
tuple_g = (ord(s) for s in chars)
array_g = array.array('I',(ord(s) for s in chars))
print(type(tuple_g))
print(next(tuple_g))
print(array_g)
print(array_g.tolist())
print()
print()

# μ œλ„ˆλ ˆμ΄ν„° 예제
print(('%s' % c + str(n) for c in ['A', 'B','C','D'] for n in range(1,21)))

for s in ('%s' % c + str(n) for c in ['A', 'B','C','D'] for n in range(1,21)):
    print(s)

# 리슀트 주의
marks1 = [['~'] * 3 for n in range(4)]
marks2 = [['~'] * 3] * 4

print(marks1)
print(marks2)

print()

# μˆ˜μ •
marks1[0][1] = 'X'
marks2[0][1] = 'X'

print(marks1)
print(marks2)

# 증λͺ…
print([id(i) for i in marks1])
print([id(i) for i in marks2])
profile
세상이 더 λ‚˜μ•„μ§€κΈ°λ₯Ό λ°”λΌλŠ” 마음으둜 κ°œλ°œμ— μž„ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

0개의 λŒ“κΈ€