복붙노트

[PYTHON] 파이썬에서 for 루프의 [] 괄호는 무엇을 의미합니까?

PYTHON

파이썬에서 for 루프의 [] 괄호는 무엇을 의미합니까?

JSON 객체를 파싱 중이며이 샘플 코드 줄을 발견했습니다.이 코드 줄에 대해서는 다음과 같은 자세한 설명이 도움이 될 것입니다.

for record in [x for x in records.split("\n") if x.strip() != '']:

나는 새로운 레코드가 개별 레코드를 얻기 위해 레코드를 분할한다는 것을 알고 있지만, 왜 그렇게 복잡해 보일지 궁금해했다. 우리가 이런 식으로 할 수없는 경우인가?

for record in records.split("\n") if x.strip() != '']:

그러면 괄호는 무엇을합니까? 왜 우리는 x에 대해 records.split에서 x에 대해 두 번 x를 가질 수 있습니까?

감사

해결법

  1. ==============================

    1.예제에서 "대괄호"는 이전 목록에서 새 목록을 작성합니다.이를 목록 이해 (list comprehension)라고합니다.

    예제에서 "대괄호"는 이전 목록에서 새 목록을 작성합니다.이를 목록 이해 (list comprehension)라고합니다.

    조건이 xs이면 x에 대한 [f (x)]의 기본 아이디어는 다음과 같습니다.

    def list_comprehension(xs):
        result = []
        for x in xs:
            if condition:
                result.append(f(x))
        return result
    

    f (x)는 x를 포함하거나 포함하지 않는 임의의 표현식이 될 수 있습니다.

  2. ==============================

    2.그것은 목록 이해이며, 즉석에서 특정 조건을 가진 목록을 만드는 깔끔한 방법입니다.

    그것은 목록 이해이며, 즉석에서 특정 조건을 가진 목록을 만드는 깔끔한 방법입니다.

    당신은 이것의 짧은 형태로 만들 수 있습니다 :

    a = []
    for record in records.split("\n"):
        if record.strip() != '':
            a.append(record)
    
    for record in a:
        # do something
    
  3. ==============================

    3.대괄호 ([])는 보통 파이썬에서리스트를 보낸다.

    대괄호 ([])는 보통 파이썬에서리스트를 보낸다.

  4. from https://stackoverflow.com/questions/30670310/what-do-brackets-in-a-for-loop-in-python-mean by cc-by-sa and MIT license