8.자료구조 8.2 리스트

C급 개발자와 함께하는 파이썬

8.2 리스트

우리가 구구단 프로그램을 만드는 방법은 다양하지만 리스트를 이용해서 구구단을 만들어보도록 하겠습니다. 일반적으로 구구단은 숫자의 일련된 값을 가지고 하는것이기 때문에 리스트가 필요하지 않지만 리스트라를 개념을 배우기 위해 조금 억지이지만 리스트를 가지고 구구단을 만들어 보도록 하겠습니다.


우선 구구단을 하려면 1 ~ 9까지의 값을 가지고 있는 변수가 있어야 할것입니다.

gugudan = [1, 2, 3, 4, 5, 6, 7, 8, 9] 이와 같이 정의하고 구구단 프로그램을 만들어 보도록 하겠습니다.



코드를 간략하게 살펴보도록 하겠습니다.


gugudan = [1, 2, 3, 4, 5, 6, 7, 8, 9]

<= gugudan 변수에 정수를 1 ~ 9까지 할당하였습니다. 이러한 형식으로 사용하면 리스트가 만들어 집니다.


print( type(gugudan) )

변수 gugudan의 타입을 출력합니다. 아래 결과와 같이 <class ‘list’>라고 나오네요. 리스트형이 맞는가 봅니다.


for x in gugudan :

if( x == 1 ) :

continue

for y in gugudan :

print( “{} X {} = {}”.format(x, y, x * y) )

print( “==============” )


구구단을 출력하는 부분입니다.

1단은 없으므로 1은 continue해서 출력하지 않도록 하고 2단부터 출력하고 있습니다. 아래 구구단을 보면 이쁘게 나오지는 않았지만 리스트를 이용하여 구구단을 출력하는 방법에 대해서 알아보았습니다.


8.2.1 리스트형 데이터 변경

리스트형은 값을 변경할 수 있는 자료형입니다. 따라서 리스트형은 특정위치의 값을 변경 할수 있습니다.



book = [‘국어’, ‘영어’, ‘수학’]

print( book )

book[0] = ‘사회’

book = [‘사회’, ‘영어’, ‘수학’]

print( book )


book는 국어, 영어, 수학 세개의 리스트로 이루어져 있습니다.

book[0] = 국어, book[1] = 영어, book[2] = 수학 이렇게 이루어져 있습니다. 이러한 book[0] 에 사회를 할당하면 리스트는 book[0] = 사회, book[1] = 영어, book[2] = 수학 이렇게 변경되는 것입니다.



8.2.2 리스트 항목 추가

앞서 리스트의 값을 변경하였습니다. 이번에는 리스트에 항목을 추가해보도록 하겠습니다.  항목추가는 append함수를 이용해서 하게 되어있습니다. 단 리스트의 맨뒤에 항목이 추가됩니다.



위의 예제는 리스트형 city에 서울, 대전, 대구, 부산 데이터를 만들었습니다. 그런데 연기에 광주를 추가하고 싶으면. city.append(“광주”)이렇게 하기만 하면 위와 같이 city는 서울, 대전, 대구, 부산, 광주 이렇게 5개의 리스트로 늘어나는 것입니다.

아래는 위의 코드를 실행한 결과 입니다.



8.2.3 리스트 항목 제거

리스트형에 항목을 추가해 보았습니다. 이제는 리스트형에 있는 항목을 삭제해 보도록 하겠습니다.



만들어진 city리스트형자료에서 city.remove(“대구”)하면 대구 항목이 삭제됩니다.


8.2.4 리스트 항목 삽입

리스트의 특정위치에 항목을 삽입합니다.



city.insert(1, “인천”)

리스트에서 색인은 0에서 시작하였습니다. 그러면 1의 색인에 해당하는 부분은 “대전” 입니다. 이 대전이 있는 자리에 인천을 추가하는 것입니다. 결과는 아래와 같습니다.



8.2.5 리스트 항목 추출





8.2.6 리스트 정렬하기

리스트를 만들다보면 리스트를 정렬해서 출력또는 사용해야하는 경우가 발생합니다. 이러한 경우 파이썬에서 기본적으로 제공하는 정렬함수를 사용하면 쉽게 데이터를 정렬해서 사용할수 있습니다.


ary = [“abc”, “def”, “bcd”, “efg”, “cde”]

ary.sort()

print( ary )


ary는 값들이 뒤죽박죽 되어있습니다. 이것을 ary.sort() 함수를 이용하여 정렬하고 출력하는 예제입니다.


코드는 위와 같습니다.


위의 코드를 실행한 모습니다.

정렬이 맞지 않았던 리스트를 정렬하고 출력해 보았습니다.


8.2.7 리스트 중복제거

리스트 정보를 사용하다보면 리스트 값에 중복된 값이 들어가는 경우가 있거나 가져오는 경우가 발생할수 있습니다.

이러한 경우 set 함수를 이용하면 쉽게 중복제거를 할수 있습니다.



위의 코드를 이용하여 중복된 abc를 모두 없애고 아래와 같이 출력되는것을 확인할 수 있습니다.


중복된 abc가 모두 삭제되었습니다.


댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.