여러 가지 할 수 있어요.
표현이 포함된 것은 무엇입니까?
표현은 목록, 집합, 산열 등을 생성할 수 있는 문법을 포함한다.
for 문장 순환을 사용하여 목록을 만드는 등 처리를 더욱 간결하게 합니다.또 포함식으로 쓰면 실행 속도도 높아진다.
예를 들어 0~10의 서열 번호 목록을 원할 때 for문으로 다음과 같이 처리한다.
my_list = []
for i in range(10):
my_list.append(i)
# my_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
이것을 포함하는 방식으로 쓰면 한 줄로 간결하게 쓸 수 있다.my_list = [i for i in range(10)]
# my_list: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
태그 포함 이외에도 다양한 처리를 수행할 수 있습니다.나중에 소개할게요.갖가지 포함 표현
조건의 불일치를 가하다
내부 패키지는 내부에서
if
를 사용하여 목록의 필터를 처리하는 것을 나타낸다.my_list에서 홀수의 홀수만 추출리스트를 만들 때
for 사용 예
my_list = [1, 2, 3, 4, 5]
odd_list = []
for i in my_list:
if i % 2 != 0:
odd_list.append(i)
# odd_list: [1, 3, 5]
태그가 포함된 예 사용my_list = [1, 2, 3, 4, 5]
odd_list = [i for i in my_list if i % 2 != 0]
# odd_list: [1, 3, 5]
결과를 처리하다
내부 패키지는 결과를 처리할 수도 있고 맵을 처리할 수도 있음을 나타낸다.
my_리스트의 값을 대문자로 쓰는 upper리스트를 만들 때
for문장의 예를 사용하다
my_list = ['a', 'b', 'c']
upper_list = []
for s in my_list:
upper_list.append(s.upper())
# upper_list: ['A', 'B', 'C']
태그가 포함된 예 사용my_list = ['a', 'b', 'c']
upper_list = [s.upper() for s in my_list]
# upper_list: ['A', 'B', 'C']
네스트된 루프 작업
루프 네스트도 포함할 수 있습니다.
2차원 리스트를 만드는 경우.
for 문 사용 예
my_list = []
for x in range(2):
for y in range(2):
my_list.append([x, y])
# my_list: [[0, 0], [0, 1], [1, 0], [1, 1]]
태그가 포함된 예 사용my_list = [[x, y] for x in range(2) for y in range(2)]
# my_list: [[0, 0], [0, 1], [1, 0], [1, 1]]
해싱 작성
포함된 방식으로 해시를 만들 수도 있다.
my_list 값을 키로 하고, 인덱스를 값으로 해시를 만듭니다
for 사용 예
my_list = ["foo", "bar", "baz"]
my_dict = {}
for val, index in enumerate(my_list):
my_dict[val] = index
# my_dict: {'foo': 0, 'bar': 1, 'baz': 2}
태그가 포함된 예 사용my_list = ["foo", "bar", "baz"]
my_dict = {val:index for val, index in enumerate(my_list)}
# my_dict: {'foo': 0, 'bar': 1, 'baz': 2}
배경을 꾸미다
패키지 표시로 패키지를 만들 수도 있다.
my_list의 각 값에 각 값을 2의 값으로 곱한 집합 시
for 사용 예
my_list = [1, 2, 2, 3, 4, 3]
my_set = set([])
for i in my_list:
my_set.add(i * 2)
# my_set: {2, 4, 6, 8}
태그가 포함된 예 사용my_list = [1, 2, 2, 3, 4, 3]
my_set = { i * 2 for i in my_list }
# my_set: {2, 4, 6, 8}
생성기 만들기
포함된 방식으로 생성기를 만들 수도 있다.
0~9값의 시퀀스 번호를 되돌려주는 my일반 제작 시
for의 예
def build_generator():
for i in range(10):
yield i
my_generator = build_generator()
# <generator object my_generator at 0x1103335f0>
태그가 포함된 예my_generator = (i for i in range(10))
# <generator object my_generator at 0x1103335f0>
끝맺다
처음 봤을 때 "읽기 어려워요."그렇게 생각하지만 이해하면 상당히 편해요.
맵 처리와 Filter 처리도 가능합니다.나는 능숙하게 사용하고 싶다.
참고 자료
Reference
이 문제에 관하여(여러 가지 할 수 있어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ryo_kawamata/articles/intoroduce-list-compression텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)