파이썬
컨테이너 타입
리스트
선언

파이썬 리스트 선언: 셜명과 예제

이번 포스트에서는 다양한 파이썬 리스트 선언 방법을 알아보겠습니다. 내용은 다음과 같습니다.

  • 빈 리스트 선언 및 초기화
  • 2차원 리스트 선언
  • range(), for문을 활용한 리스트 선언
  • 특정 길이의 리스트 선언
  • 문자열, 클래스 등으로 이루어진 리스트 선언
  • 전역변수 리스트 선언

1. 빈 리스트 선언

파이썬에서 빈 리스트를 선언하고 초기화하는 방법은 여러 가지가 있습니다. 다음은 몇 가지 예시입니다.

1.1. 대괄호 이용

우선, 다음과 같이 빈 대괄호를 이용해서 선언할 수 있습니다.

my_list = []

1.2. list() 함수 이용

다음으로는 list() 함수를 사용하여 빈 리스트로 초기화하는 방법입니다.

my_list = list()

2. 2차원 빈 리스트 선언

2차원 빈 리스트를 만들 때는 대괄호를 이용해 다음과 같이 정의할 수도 있지만,

matrix = [ [], [] ]

주로, 행과 열의 수를 지정해서 생성하는 경우가 많습니다.

2.1. for 문을 활용해 2차원 리스트 선언

이를 위해서 다음과 같이 반복문을 이용할 수 있습니다.

rows = 3
cols = 4
 
my_list = []
for _ in range(rows):
    inner_list = []
    for _ in range(cols):
        inner_list.append(None)
    my_list.append(inner_list)

2.2. 리스트 컴프리헨션을 이용한 2차원 리스트 선언

혹은, 리스트 컴프리헨션으로 더 간단한 코드를 작성할 수도 있습니다.

rows = 3
cols = 4
 
my_list = [[None for _ in range(cols)] for _ in range(rows)]
 
# Output
[
    [None, None, None, None],
    [None, None, None, None],
    [None, None, None, None]
]

3. range() 함수로 원하는 길이의 리스트 선언

파이썬 리스트는 길이를 지정하거나 제한해서 생성하는 데이터 타입이 아닙니다. 특정 길이의 리스트를 선언하려면 해당 자리에 더미 값이 들어가야 합니다.

아래 예제 코드는 원하는 길이의 리스트를 0으로 채워 선언합니다. range() 함수를 이용하여 다음과 같은 코드를 작성할 수 있습니다.

list_count = 5
list_5 = [ 0 for _ in range(list_count) ]
 
# output
[0, 0, 0, 0, 0]

3.1. 특정 문자열 혹은 클래스로 이루어진 리스트 선언

위와 같은 방법을 이용해서 원하는 길이만큼 특정 문자열이나 클래스가 속한 리스트도 간단히 정의할 수 있습니다.

다음과 같이, 정해진 문자열은 반복하거나,

list_count = 5
list_5_a = [ 'a' for _ in range(list_count) ]
 
# output
['a', 'a', 'a', 'a', 'a']

chr() 함수를 이용해서 다음과 서로 다른 문자열도 나타낼 수 있으며,

row = 4
col = 3
 
matrix = [ [chr(97 + i + j) for i in range(col)]  for j in range(row)]
 
# output
[['a', 'b', 'c'],
 ['b', 'c', 'd'],
 ['c', 'd', 'e'],
 ['d', 'e', 'f']]

특정 클래스로 이루어진 리스트도 선언 가능합니다.

class Student:
    def __init__(self, age):
        self.age = age
 
    def __repr__(self):
        return f'Student(age:{self.age})'
 
    def __str__(self):
        return f'Student(age:{self.age})'
 
list_count = 5
matrix  = [ Student(age) for age in range(list_count) ]
 
# output
[Student(age:0), Student(age:1), Student(age:2), Student(age:3), Student(age:4)]

4. 전역변수 리스트 선언

파이썬은 별도의 전역변수 선언 기능이 없으며 최상위 스코프에 선언한 모든 변수는 전역 변수로 사용할 수 있습니다.

필요에 따라 특정 리스트를 진역 변수로 선언하고자 하면, 함수 등 다른 스코프에서 해당 리스트 변수 앞에 global 키워드를 입력해서 사용해주세요.

# init as global
my_list = []
 
def add_to_list(value):
    global my_list
    my_list.append(value)
 
add_to_list(1)
add_to_list(2)
print(my_list)
 
# Output: [1, 2]

마치며

지금까지 여러 가지 파이썬 리스트 선언 방법을 알아보았습니다. 간단한 내용이지만 모든 자료 구조 선언의 기본이 되는 내용이기도 합니다.

이번 포스트가 실제 개발에 도움이 되길 바랍니다.

copyright for 파이썬 리스트 선언: 셜명과 예제

© 2023 All rights reserved.