Python Level 2 Ch.4
📌 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])
Author And Source
이 문제에 관하여(Python Level 2 Ch.4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@yoonlucky7/Python-Level-2-Ch.4
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 시퀀스형
# 컨테이너(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])
Author And Source
이 문제에 관하여(Python Level 2 Ch.4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoonlucky7/Python-Level-2-Ch.4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)