본문 바로가기

python 기초강의

파이썬 독학 기본 문법 리스트 #3

파이썬 독학 기본 문법 리스트 #3

파이썬 기본 문법 정리하기 리스트

 

이번이 벌써 파이썬 독학을 위한 기본 문법 세 번째 시간입니다.

다시 한번 말씀드리지만, 파이썬 기본 문법 포스팅은 제가 잘해서 하는 게 아닙니다.

 

저도 이 글을 쓰면서 정리하는 의미를 가지고 작성을 하고 있습니다.

여러분들과 함께 커나가기를 희망하는 한낱 파린이 일뿐입니다...^^

 

저와 함께 어디까지 가는지 한번 같이 해보시죠!!

 

오늘은 리스트에 관해서 해보겠습니다. 자 그럼 출발!!

 

파이썬 기본 문법 리스트란?

파이썬에서 리스트란 어떤 자료들의 집합을 이야기합니다.

이 리스트 안에는 숫자도 들어갈 수 있고, 문자도 들어갈수 있고, 불 자료형도 들어갈 수 있습니다. 

이런 것들이 함께 들어가서 존재할 수도 있습니다.

 

규칙이 있건, 없건, 생김새가 같건, 다르건, 필요한 여러 데이터를 리스트라는 한 집합 안에 넣어서 핸들링하고, 프로그래밍에서 쓸 수도 있게 되는 것입니다.

 

리스트는 아래 그림과 같이 데이터와 번지(인덱스)로 이루어져 있습니다.

데이터는 말 그대로 데이터 자체를 이야기하며, 번지(인덱스) 수는 0부터 시작합니다.

파이썬 리스트

※빨간 박스 안에 있는 것이 데이터, 파란박스안에 있는것이 번지수 또는 인덱스 번호입니다.

 

 

 

파이썬 기본 문법 리스트 생성

본격적으로 리스트에 대해서 실습을 진행하겠습니다.

별로 어렵지 않고, 금방 끝나니 하나하나 따라서 해보세요.

우선 리스트를 생성하는 것을 해보겠습니다.

# 리스트 생성
my_hobby = ["골프","축구"]
my_number = [1,3,5,7,9,11]
my_profile = ["골프",70, False]
print(my_hobby)
print(my_number)
print(my_profile)

리스트를 생성하는 방법은 매우 간단합니다.

위와 같이 리스트명을 적어두고, 우측에는 안에 들어갈 자료들을 나열하면 됩니다. 문자는 더블 포테이션을, 숫자는 그냥 써주고, 데이터 사이는 콤마(,)로 구분하시면 됩니다.

아래 print 문으로 출력을 합니다.

파이썬 기본 문법 리스트 인덱스 생성1

 

파이썬 기본 문법 리스트 인덱스 출력

데이터를 기반으로 리스트 안에서 해당 데이터의 인덱스 번호를 출력할 수 있습니다.

# 리스트 인덱스 출력
print(my_hobby)
print(my_number)
print(my_hobby.index("축구"))
print(my_number.index(3))

위와 같이 예제 실습 코드를 작성했는데, 처음 my_hobbymy_number 리스트를 출력하고, 각 리스트에서 "축구"와 3이라는 데이터의 인덱스를 출력하도록 하였습니다.

파이썬 기본 문법 리스트 인덱스 출력1

위와 같이 my_hobby와 my_number 리스트를 출력하고, "축구" 데이터의 인덱스 1과 3이라는 데이터의 인덱스 1이 각각 출력되는 것을 확인할 수 있습니다.

 

파이썬 기본 문법 리스트 추가 및 삽입

이미 생성한 리스트에 데이터를 추가하거나, 중간에 삽입을 할 수 있습니다. 추가를 하면 대상 리스트 마지막에 데이터가 들어가게 됩니다.

# 리스트 추가1
my_hobby = ["골프","축구"]
print(my_hobby)

my_hobby.append("자전거")
print(my_hobby)

# 리스트 추가2
my_hobby += ["독서", "레고조립"] # + 연산자로 넣기
print(my_hobby)

리스트에 데이터를 추가하는 방법은 크게 2가지입니다. 하나는 append 함수를 사용하는 방법과 "+" 연산자를 사용하는 방법입니다.

 

위 예제 코드에서는 두 가지 방법을 각각 사용해 보았습니다.

파이썬 기본 문법 리스트 추가 및 삽입1

예제 코드에서 처음 리스트를 생성하고 print 한번 하고, append 함수를 사용해서 "자전거"라는 데이터를 넣고 print를 하고, 마지막으로 "+" 연산자를 사용해서 "독서", "레고 조립"이라는 데이터를 2개 넣고 print를 했습니다.

 

결과를 보면 예제 코드와 같이 잘 들어간 것을 확인할 수 있습니다.

간단하네요.

 

 

 

데이터를 삽입하게 되면 리스트의 제일 뒤에 들어간다고 했는데, 중간에 넣으려면 어떻게 해야 할까요? insert 함수를 사용하여 리스트의 인덱스를 사용하여 데이터를 중간에 넣을 수 있습니다.

파이썬 기본 문법 리스트 추가 및 삽입2

위와 같이 지금 리스트에 데이터가 저장되어 있는데, 이 리스트의 인덱스는 아래와 같습니다.

데이터

인덱스

골프

0

축구

1

자전거

2

독서

3

레고조립

4

이젠 "넷플릭스"라는 데이터를 중간에 넣어볼 텐데, 인덱스 1, 3에 넣어 보도록 하겠습니다.

# 리스트 중간 삽입
my_hobby.insert(1, "넷플릭스")
print(my_hobby)

my_hobby.insert(3, "넷플릭스")
print(my_hobby)

위와 같이 예제 실습 코드를 작성을 했습니다.

결과를 보겠습니다.

파이썬 기본 문법 리스트 추가 및 삽입3

자, 인덱스 1, 3번에 "넷플릭스"라고 두 개의 데이터를 넣었죠. 기존에 1번이었던 "축구"가 2번으로 밀려나고, 다음 처음엔 인덱스 2번이었으나 하나의 데이터가 들어오면서 인덱스 3번이 되었던 "자전거" 데이터가 "넷플릭스" 하나가 더 들어오면서 4번으로 밀려났습니다.

 

이젠 아래와 같은 형태로 변경이 된 것 이죠.

데이터

인덱스

골프

0

넷플릭스

1

축구

2

넷플릭스

3

자전거

4

독서

5

레고조립

6

이해 가시나요?

쉽게 따라 하실 수 있을 겁니다!

 

 

 

파이썬 기본 문법 리스트 삭제

리스트에 데이터를 넣어보았으니, 지울 수도 있겠죠?

리스트에서 데이터를 삭제할 때, 가장 뒤에 있는 것만 빼내서 지울 수 있고, 특정 데이터나 인덱스를 조회하여 지울수 있습니다.

# my_hobby 리스트 출력
print(my_hobby)

# 리스트 가장 뒤쪽에서 하나 삭제
my_hobby.pop()
print(my_hobby)

# 리스트 인덱스를 이용하여 삭제
del my_hobby[4]
print(my_hobby)

# 리스트 데이터를 조회하여 삭제
del my_hobby[my_hobby.index("축구")]
print(my_hobby)

가장 먼저 지금 리스트의 데이터를 출력을 하고, 다음 pop 함수를 사용하여 가장 뒤에 있는 데이터를 하나 삭제합니다. pop 함수는 리스트의 마지막껄 삭제하는 함수 입니다. 그리고 다음 del 명령어를 이용하여 4번 인덱스를 가진 데이터를 삭제하고, 그 다음 "축구" 라는 데이터를 찾아서 해당 인덱스의 데이터를 삭제 하는 예제 실습 코드를 작성했습니다.

 

그 결과는 아래와 같습니다.

파이썬 기본 문법 리스트 삭제1

이렇게 원하는 데이터를 삭제할 수 있습니다.

 

파이썬 기본 문법 리스트 count

리스트 내에서 어떤 데이터가 몇 건 들어가 있는지 검색할 수 있습니다.

# 리스트내 같은 데이터 건수 세기
print(my_hobby)
print(my_hobby.count("넷플릭스"))
print(my_hobby.count("골프"))

바로 count 함수를 사용하면 됩니다.

위 예제 실습 코드를 참고하여 실행하시면 아래와 같은 결과가 나옵니다.

파이썬 기본 문법 리스트 count1

먼저 지금 리스트의 목록을 출력하고, "넷플릭스"라는 데이터가 2건이 있으니, 2가 출력되었고, 그리고 "골프"라는 데이터가 1건 있어 1이 출력되는 것을 확인할 수 있습니다.

 

파이썬 기본 문법 리스트 정렬

리스트 내 데이터를 정렬할 수 있습니다. 오름차순, 내림차순, 그리고 정렬은 아니지만 리스트에 있는 데이터들의 시작과 끝을 완전 반대로 뒤집을 수 있습니다.

# 리스트내 데이터 정렬 하기
print(my_hobby)
my_hobby.sort() #오름차순 정렬
print(my_hobby)

my_hobby.sort(reverse=True) #내림차순 정렬
print(my_hobby)

my_hobby.reverse() # 리스트내 데이터 순서 뒤집기 (정렬아님)
print(my_hobby)

위와 같이 예제 실습 코드를 실행해 봅니다.

파이썬 기본 문법 리스트 정렬1

우선 리스트를 한번 출력하고, 오름차순 정렬을 sort 함수를 사용하여하고 출력을 하니 결과가 똑같습니다.

이미 오름차순으로 정렬이 되어 있어 그런 것이고, 다음 sort함수에 reverse=True라는 파라미터를 주면 내림차순으로 정렬이 됩니다. 순서가 바뀐 것을 3번째 결과 라인에서 확인할 수 있습니다.

 

 

 

이것을 다시 reverse라는 함수로 시작과 끝을 뒤집어 출력하니 다시 오름차순 때 정렬된 모습으로 돌아오는 것을 확인할 수 있습니다.

 

파이썬 기본 문법 리스트 데이터 모두 삭제

리스트 내 모든 데이터를 삭제할 때는 clear라는 함수를 사용하면 됩니다.

# 리스트내 모든 데이터 삭제 하기
print(my_hobby)
my_hobby.clear()
print(my_hobby)

위와 같은 예제 실습 코드를 작성하여 실행합니다.

파이썬 기본 문법 리스트 데이터 모두 삭제1

우선 리스트를 출력하고, 모두 삭제하는 clear 함수를 사용합니다. 그리고 다시 리스트를 출력하니 빈 값만 출력이 되는 것을 확인할 수 있습니다.

 

파이썬 기본 문법 리스트 합치기

두 개 이상의 리스트를 합칠 수 있습니다.

# 리스트 생성
my_list1 = [1,2,3]
my_list2 = ["손흥민","차범근","박지성"]

print(my_list1)
print(my_list2)

# 리스트 합치기
my_list1.extend(my_list2)
print(my_list1)

my_list 1과 my_list 2를 만들고 각각 데이터를 넣어줍니다.

그리고 각 리스트를 print 하고, 두 리스트를 extend 함수로 합치고, 다시 출력을 해 봅니다.

파이썬 기본 문법 리스트 합치기1

 

 

 

잘 합쳐져서 출력되는 것을 확인했습니다.

 

자, 오늘은 리스트에 관하여 알아보았습니다. 생각보다 쉽죠?

전 아직까지는 별로 어렵지 않은 것 같습니다.

차근차근 무엇보다 꾸준히 함께 롱런하였으면 좋겠습니다.

 

감사합니다.

 

#이전편 보러가기

2020/08/25 - [DB엔지니어가 공부하는 python] - 파이썬 코딩 기본 문법 요약 정리 문자열 #2

 

파이썬 코딩 기본 문법 요약 정리 문자열 #2

파이썬 코딩 기본 문법 요약 정리 문자열 #2 안녕하세요. 오늘은 지난 시간에 이어서 파이썬 기본 문법 문자열에 대해서 공부를 같이 해보도록 하겠습니다. 지난 시간에는 숫자, 숫자 계산 및 불

stricky.tistory.com

 

 

 

by.sTricky