본문 바로가기
문송충의 코딩하기/파이썬 기초

파이썬 기초 공부 - 리스트(List) 다루기

by 동장군님 2020. 8. 1.
728x90
반응형

파이썬 공부한 내용을 까먹지 않기 위해 이 파이썬 기초라는 카테고리를 만들었고, 기초부터 파이썬에 관해서 꼭 필요한 내용에 대해 글을 쓰고자 한다. 파이썬을 처음 공부하는 많은 분들이 이 글을 보고 조금이라도 도움이 됐으면 한다. 이번 시간에는 파이썬은 물론 모든 코딩 언어에서 가장 중요한 리스트에 대해 간단히 설명하고자 한다. 지금까지 파이썬으로 뭘 하면서 리스트는 항상 포함되어 있었고, 많은 분들도 동감할 것으로 생각한다. 


리스트

리스트는 데이터 타입 중에 하나로 데이터를 하나로 묶어 한번에 처리할 수 있는 장점이 있다. 예를 들어 학교에서 학생들의 학점을 과목별 학점을 관리할 때 리스트 형태로 묶어서 처리한다면 엄청 편할 수 있다. 먼저 리스트 데이터 타입을 만드는 방법을 알아보고 그다음으로 리스트 사용방법에 대해 설명하도록 하겠다.

 

리스트는 대괄호 []를 사용해 만드는데 대괄호 안에 있는 항목 데이터 타입은 숫자, 불리언, 리스트, 문자열 다양하다. 물론 아무것도 안 넣고 빈 리스트 형태를 만들 수 있다. 우선 회사 직원들의 이름을 다음과 같이 리스트로 만들어서 employees 변수에 할당할 수 있다.

employees= ["Steve","David","John","Chris","Brown"]

만약 리스트에서 첫 번째 값을 가져오고 싶다면 변수[인덱스]로 지정해서 해당 위치에 있는 값을 출력할 수 있다. 여기서 말하는 인덱스는 리스트 내 값들의 참조 값으로 인덱스의 범위는 0부터 리스트 총 값 N-1로 정의할 수 있다. Steve라는 값만 가져오고 싶다 그러면 0번째 인덱스에 위치하고 있기에 아래와 같이 돌리면 된다. 

print(employees[0])

Out: Steve

기존 employees 리스트에 데이터를 수정하고 싶다면 변수명[인덱스 값]="변수 값"을 이용해 특정 인덱스에 있는 변수를 수정할 수 있다. 여기서는 Chris를 Christian으로 바꾸도록 하겠다. Chris 값이 Christian으로 바뀐 것을 확인할 수 있다.

employees[3]="Christian"

print(employees)

Out: ['Steve', 'David', 'John', 'Christian', 'Brown']

만약에 거꾸로 Brown이 위치한 인덱스 값을 반대로 출력하고 싶다면 리스트 변수명. index("찾고자 하는 값")로 지정하면 된다.

employees.index("Brown")

Out: 4

새로운 직원을 고용해서 리스트에 새로운 값을 추가하고 싶다면 append 라는 함수를 사용하면 된다. 

employees.append("Lebron")

print(employees)

Out: ['Steve', 'David', 'John', 'Christian', 'Brown', 'Lebron']

리스트에서 만약 일부 데이터만을 가져오고 싶다면 변수[시작 인덱스 : 끝 인덱스] 이용하면 된다.

# 3번째 값까지만
print(employees[:3])
# 모두 가져오자
print(employees[:])
# 두번째 값부터 5번째 값까지
print(employees[1:5])
# 3번째 값부터 모두 가져오기
print(employees[2:])
# 첫번째 값부터 2개씩 건너 뛰면서 가져오기
print(employees[::2])

Out: ['Steve', 'David', 'John']
['Steve', 'David', 'John', 'Christian', 'Brown', 'Lebron']
['David', 'John', 'Christian', 'Brown']
['John', 'Christian', 'Brown', 'Lebron']
['Steve', 'John', 'Brown']

리스트에서 특정 값을 제외하고 싶다고 하면 remove를 사용하면 된다.

employees.remove("Brown")

employees

Out: ['Steve', 'David', 'John', 'Christian', 'Lebron']

마지막으로 리스트 내에 있는 숫자나 문자열를 순방향으로 정렬하는 sort에 대해 알아보도록 하겠다. 아래 코드와 같이 문자열 숫자 모두 오름차순으로 정렬됐음을 확인할 수 있다.

employees.sort()
employees
Out: ['Christian', 'David', 'John', 'Lebron', 'Steve']
abc=[8,2,1,4,6]
abc.sort()
abc

Out: [1, 2, 4, 6, 8]

리스트에는 insert, extend, cout 등 다양하게 사용할 수 있는 함수가 있다. 여기서 다 다루지 못하지만 전반적으로 다 쉽기 때문에 무리 없이 습득할 수 있을 것이다. 

728x90
반응형

댓글