Python의 이해력: list, dict 및 set 이해력이란 무엇입니까?
19850 단어 tutorialwebdevpythonprogramming
소개:
우리는 코드를 단순화할 때 컴프리헨션을 사용합니다. 코드 전쟁과 같은 코딩 챌린지에 참여하면 이해력을 사용하여 답변을 볼 수 있습니다. Comprehension을 사용하면 프로그래밍에서 여러 줄의 코드를 작성하는 대신 한 줄로 작성할 수 있습니다.
이 기사에서는 목록 이해, 사전 이해 및 집합 이해를 포함하는 Python의 이해를 살펴보겠습니다.
목록 이해력이란 무엇입니까?
목록 이해는 목록을 사용하여 코드를 작성하는 더 간단하고 짧은 방법입니다. 여기에는 for 루프와 if 문이 포함될 수 있습니다.
예시:
목록에서 문자열의 첫 문자를 제거해 봅시다
목록 이해가 없는 경우:
string_in_list = ['aderin','agnes','anuli','aga','aderin','asabar','agnes']
str = []
for i in string_in_list:
str.append(i[1:])
print(str)
산출:
['derin', 'gnes', 'nuli', 'ga', 'derin', 'sabar', 'gnes']
목록 이해:
string_in_list = ['aderin','agnes','anuli','aga','aderin','asabar','agnes']
str = [n[1:] for n in string_in_list]
print(str)
산출:
['derin', 'gnes', 'nuli', 'ga', 'derin', 'sabar', 'gnes']
위의 예에서 목록 이해는 코드를 더 간단하고 짧게 만듭니다.
다른 예에서는 3보다 작거나 같은 문자열만 선택합니다.
목록 이해 없이
string_in_list = ['aderin','agnes','anuli','aga','aderin','asabar','agnes']
str = []
for i in string_in_list:
if len(i) <= 3:
str.append(i)
print(str)
산출:
['aga']
목록 이해를 사용하여 코드를 단순화하고 단축합니다.
string_in_list = ['aderin','agnes','anuli','aga','aderin','asabar','agnes']
str = [n for n in string_in_list if len(n) <= 3]
print(str)
산출:
[’aga’]
이제 dict comprehension을 살펴보겠습니다.
dict 이해력이란 무엇입니까?
Dict comprehension은 사전을 단순화하고 단축하는 데 사용됩니다. 딕셔너리는 for 루프와 if 문도 허용할 수 있습니다.
사전 이해 없이
str_in_dict = {’aderin’:23,’agnes’:26,’anuli’:29,’aga’:31,’aderin’:17,’asabar’:25,’agnes’:37}
bio_str = {}
for k,v in str_in_dict.items():
if v <= 30:
bio_str[k] = v
print(bio_str)
산출:
{'aderin': 17, 'anuli': 29, 'asabar': 25}
dict 이해력으로
str_in_dict = {’aderin’:23,’agnes’:26,’anuli’:29,’aga’:31,’aderin’:17,’asabar’:25,’agnes’:37}
bio_str = {k: v for (k,v) in str_in_dict.items() if v <= 30}
print(bio_str)
산출:
{'aderin': 17, 'anuli': 29, 'asabar': 25}
위의 코드에서 이름 문자열에 나이를 추가하고 이름을 반복하여 나이가 30 이하인 이름만 선택했습니다.
20세 이상 30세 미만의 연령을 선택하려면 이전 코드에 if 문을 하나 더 추가하면 됩니다.
사전 이해 없이
str_in_dict = {’aderin’:23,’agnes’:26,’anuli’:29,’aga’:31,’aderin’:17,’asabar’:25,’agnes’:37}
bio_str = {}
for k,v in str_in_dict.items():
if v <= 30 and v >= 20:
bio_str[k] = v
print(bio_str)
산출:
{'anuli': 29, 'asabar': 25}
dict 이해력으로
str_in_dict = {’aderin’:23,’agnes’:26,’anuli’:29,’aga’:31,’aderin’:17,’asabar’:25,’agnes’:37}
bio_str = {k: v for (k,v) in str_in_dict.items() if v <= 30 if v >= 20 }
print(bio_str)
산출:
{'anuli': 29, 'asabar': 25}
집합 이해력이란 무엇입니까?
집합 이해는 더 간단하고 짧은 형태의 집합입니다. dict comprehension과 마찬가지로 중괄호를 사용합니다.
집합은 목록과 달리 중복 값을 생성하지 않으므로 반복할 때 고유한 값을 생성합니다.
정해진 이해 없이
strings_in_set= {’aderin’,’agnes’,’anuli’,’aga’,’aderin’,’asabar’,’agnes’}
bio_sets = set()
for i in strings_in_set:
bio_sets.add(i)
print(bio_sets)
산출:
{'anuli', 'aderin', 'agnes', 'aga', 'asabar'}
세트 이해력으로
strings_in_set = {’aderin’,’agnes’,’anuli’,’aga’,’aderin’,’asabar’,’agnes’}
bio_sets = {i for i in strings_in_set}
print(bio_sets)
산출:
{'agnes', 'aga', 'asabar', 'anuli', 'aderin'}
컴프리헨션을 사용하는 경우
Comprehension은 초보자에게 친숙하지 않지만 일단 목록, 사전 및 세트에 대한 이해를 얻으면 됩니다. 당신은 그들을 사랑합니다. 특히 단순한 스타일의 경우 이해를 사용하는 것이 항상 권장되는 것은 아닙니다. 읽기 어려울 수 있습니다.
Zen of Python 이라는 시에 이런 구절이 있습니다.
if the implementation is hard to explain, it’s a bad idea.
컴프리헨션을 쓰다 보면 글을 쓰면서 설명하기 쉽다고 느끼겠지만 그건 본인이 썼기 때문이다. 당신의 코드를 보는 다른 사람이 당신이 하고 있는 일을 이해하는 것은 완전히 어려울 수 있습니다.
결론
Comprehension은 코드를 단순화하고 단축하는 데 사용됩니다. 코드를 작성할 때 너무 많은 줄을 사용하고 있다는 것을 알게 되면 컴프리헨션을 사용할 수 있습니다. 그러나 읽기 쉽고 이해하기 쉬워야 합니다.
읽어주셔서 감사하고 더 많은 배움을 응원합니다.
Reference
이 문제에 관하여(Python의 이해력: list, dict 및 set 이해력이란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ezinne_anne/comprehensions-in-python-what-are-list-dict-and-set-comprehensions-18f3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)