파이썬 리스트 선언: 셜명과 예제
이번 포스트에서는 다양한 파이썬 리스트 선언 방법을 알아보겠습니다. 내용은 다음과 같습니다.
- 빈 리스트 선언 및 초기화
- 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]
마치며
지금까지 여러 가지 파이썬 리스트 선언 방법을 알아보았습니다. 간단한 내용이지만 모든 자료 구조 선언의 기본이 되는 내용이기도 합니다.
이번 포스트가 실제 개발에 도움이 되길 바랍니다.