Skip to content

리스트 ​

리스트는 "할 일 목록"이나 "쇼핑 목록"처럼 항목들이 순서대로 나열된 집합입니다.
리스트의 항목들은 어떤 타입이라도 될 수 있으며, 동일한 값이 리스트에 여러 번 나타날 수 있습니다.

빈 리스트 생성 ​

가장 간단한 리스트는 빈 리스트로, 빈 리스트 생성 블록을 사용하여 생성합니다.

lists_create_with

Python ​

python
[]

리스트 만들기 ​

리스트 만들기 블록을 사용하면 새로운 리스트에 초기값을 지정할 수 있습니다.

lists_create_with-2

Python ​

python
[item0, item1, item2]

리스트 항목 반복 ​

리스트 항목 반복 블록을 사용하면 지정된 항목을 반복하여 원하는 개수만큼 리스트를 만들 수 있습니다.

lists_repeat

Python ​

python
[item] * times

리스트 길이 ​

길이 블록의 값은 리스트의 항목 수입니다.
빈 리스트의 길이는 0입니다.

lists_length

Python ​

python
len(list)

빈 리스트 확인 ​

빈 리스트 확인 블록의 값은 입력이 빈 리스트일 경우 참, 그 외에는 거짓입니다.

lists_isEmpty

Python ​

python
not len(list)

리스트에 항목이 나타난 위치 ​

리스트에서 특정 항목의 위치를 찾습니다.
리스트에 해당 항목이 없는 경우, 결과는 0입니다.

lists_indexOf

Python ​

python
list.index(VALUE) + 1

항목 가져오기 / 잘라내기 / 제거 ​

이 블록은 리스트로부터 항목을 가져오거나, 잘라내거나, 제거할 수 있습니다.
첫 번째, 마지막, N번째, 임의 항목 등 다양한 옵션이 있습니다.

lists_getIndex

가져오기 ​

리스트에서 항목 가져오기 블록은 리스트로부터 리스트에서 특정 위치의 항목을 가져올 수 있습니다.

Python ​

python
list[0]
list[-1]
list[int(random.random() * len(list))]
list[N - 1]
list[-N]

잘라내기 ​

리스트에서 항목 잘라내기 블록은 리스트로부터 특정 항목을 가져오고 리스트에서 해당 항목을 제거합니다.

Python ​

python
list.pop(N - 1)                        # # 번째
list.pop(-N)                           # 마지막 위치부터 # 번째
list.pop(0)                            # 첫 번째
list.pop()                             # 마지막 
lists_remove_random_item(list)         # 임의로

# random
def lists_remove_random_item(myList):
    x = int(random.random() * len(myList))
    return myList.pop(x)

제거 ​

리스트에서 항목 제거 블록은 리스트로부터 특정 항목을 제거하기만 합니다.
블록의 왼쪽 플러그가 사라지고, 위 아래 블록을 연결할 수 있게 됩니다.

Python ​

python
list.pop(N - 1)                             # # 번째
list.pop(-N)                                # 마지막 위치부터 # 번째
list.pop(0)                                 # 첫 번째
list.pop()                                  # 마지막
list.pop(int(random.random() * len(list)))  # 임의로

원하는 위치에 항목 설정 / 삽입 ​

이 블록은 리스트에서 원하는 위치에 항목을 설정하거나 삽입할 수 있습니다.
첫 번째, 마지막, N번째, 임의 항목 등 다양한 옵션이 있습니다.

lists_setIndex

항목 설정 ​

리스트에서 항목 설정 블록은 지정된 위치의 항목을 다른 항목으로 교체합니다.

Python ​

python
list[N - 1] = value                         # # 번째
list[-N] = value                            # 마지막 위치부터 # 번째
list[0] = value                             # 첫 번째
list[-1] = value                            # 마지막

tmp_x = int(random.random() * len(list))
list[tmp_x] = value                         # 임의로

항목 삽입 ​

리스트에서 항목 삽입 블록은 새 항목을 지정한 위치에 삽입합니다.
기존 항목은 유지되며 길이가 1 증가합니다.

Python ​

python
list.insert(N - 1, value)                        # # 번째
list.insert(-N, value)                           # 마지막 위치부터 # 번째
list.insert(0, value)                            # 첫 번째
list.append(value)                               # 마지막

tmp_x = int(random.random() * len(list))
list.insert(tmp_x, value)                        # 임의로

서브리스트 추출 ​

리스트에서 ... 서브리스트 추출 블록은 시작과 끝 위치를 지정하여 서브리스트를 추출합니다.
첫 번째, 마지막, N번째, 임의 항목 등 다양한 옵션이 있습니다.
동작 후에도 원본 리스트는 변경되지 않습니다.

lists_getSublist

Python ​

python
# 시작이 첫 번째 위치(#1)
list[ : N]                             # #N (1-based)
list[ : -N]                            # last_#N
list[ : ]                              # last

# 시작이 last_#N
list[-N : M]
list[-N : -M]
list[-N : ]

# 시작이 first
list[ : N]
list[ : -N]
list[ : ]

항목을 바꾼 새 리스트 추출 ​

리스트에서 항목을 바꾼 새 리스트 추출 블록은 지정된 위치에 있는 항목을 다른 항목으로 치환한 새 리스트를 반환합니다.
첫 번째, 마지막, N번째, 등 다양한 옵션이 있습니다.
동작 후에도 원본 리스트는 변경되지 않습니다.

lists_replace

Python ​

python
# unit = "#"
[value if i == (N - 1) else data for i, data in enumerate(list)]

# unit = "last_#"
[value if i == (len(list) - N) else data for i, data in enumerate(list)]

# unit = "first"
[value if i == 0 else data for i, data in enumerate(list)]

# unit = "last"
[value if i == (len(list) - 1) else data for i, data in enumerate(list)]

구분자로 텍스트 분리 / 결합 ​

lists_split

텍스트에서 목록 만들기 ​

텍스트에서 목록 만들기 블록은 주어진 텍스트를 구분자를 기준으로 나누어 리스트로 반환합니다.

Python ​

python
text.split(delimiter)

목록에서 텍스트 만들기 ​

목록에서 텍스트 만들기 블록은 구분자를 사용하여 리스트의 항목들을 하나의 텍스트로 결합합니다.

Python ​

python
delimiter.join(list)

리스트 정렬 ​

리스트를 원하는 기준에 따라 정렬하는 블록입니다.
숫자 또는 알파벳을 기준으로 정렬할 수 있으며, 오름차순과 내림차순을 선택할 수 있습니다.
또한, 알파벳 정렬 시 대소문자를 무시하고 정렬할 수도 있습니다.

lists_sort

Python ​

python
lists_sort(my_list, "NUMERIC", False)      # 숫자, 오름차순
lists_sort(my_list, "NUMERIC", True)       # 숫자, 내림차순
lists_sort(my_list, "TEXT", False)         # 문자, 오름차순
lists_sort(my_list, "TEXT", True)          # 문자, 내림차순
lists_sort(my_list, "IGNORE_CASE", False)  # 대소문자 구분 X, 오름차순
lists_sort(my_list, "IGNORE_CASE", True)   # 대소문자 구분 X, 내림차순

def lists_sort(my_list, type, reverse):
    def try_float(s):
        try: return float(s)
        except: return 0
    key_funcs = {
        "NUMERIC": try_float,
        "TEXT": str,
        "IGNORE_CASE": lambda s: str(s).lower()
    }
    key_func = key_funcs[type]
    list_cpy = list(my_list)
    return sorted(list_cpy, key=key_func, reverse=reverse)

리스트 뒤집기 ​

리스트의 요소 순서를 역순으로 변경하는 블록입니다.

lists_reverse

Python ​

python
list(reversed(my_list))