[Python]파이썬 기초문법3 - [리스트(list)]


이번 포스트는 [리스트(list)]에 관한 내용입니다.


1️⃣ 리스트 (list)

(1) 리스트 전체 출력

number = [1, 3, 5, 7, 9]
subject = ["국어", "수학", "과학", "미술"]

print(number)
print(subject)
#-------출력-------#
[1, 3, 5, 7, 9]
['국어', '수학', '과학', '미술']

(2) 인덱스(index)를 이용한 출력

number = [1, 3, 5, 7, 9]
subject = ["국어", "수학", "과학", "미술"]

print(number[0])
print(subject[1])
print()
cnt = 0
#-------출력-------#
1
수학

(3) 음수 인덱스를 이용한 출력

number = [1, 3, 5]

print(number[0])
print(number[-0])
print(number[-1])
print(number[-2])
print(number[-3])
#-------출력-------#
1
1
5
3
1

(4) while문을 이용한 출력

방법1

number = [1, 2, 3, 4, 5]
i = 0

while (i < 5):
    print(number[i])
    i += 1

방법2 (len함수 이용)

number = [1, 2, 3, 4, 5]
i = 0

while (i < len(number)):
    print(number[i])
    i += 1
#-------출력-------#
1
2
3
4
5

(4) 리스트 대입

number = [1, 2, 3 , 4]
number[0] = 5
print(number)
[5, 2, 3, 4]

(5) 리스트 슬라이싱(list slicing)

subject = ["국어", "수학", "과학", "미술"]

print(subject[0:4])  # 0 ~ 3 (index)
print(subject[2:])   # 2 ~  (index)
print(subject[:3])   #  ~ 2 (index)
#-------출력-------#
['국어', '수학', '과학', '미술']
['과학', '미술']
['국어', '수학', '과학']

(6) 리스트 슬라이싱 응용

number = [1, 2, 3, 4, 5]

new_list = number[2:]  # [3, 4, 5]
print(new_list[1])
#-------출력-------#
4



2️⃣ 리스트 함수

(1) 리스트 요소 추가(append)

  • 가장 오른쪽에 요소를 추가 합니다.
number = []

number.append(1)
number.append(2)
print(number)
#-------출력-------#
[1, 2]

(2) 리스트 요소 삭제(del)

number = [1, 2, 3, 4, 5, 6]

del number[2]  # 3 삭제
print(number)
#-------출력-------#
[1, 2, 4, 5, 6]

(3) 리스트 요소 삽입(insert))

number = [1, 2, 3, 4, 5, 6]

number.insert(2, 11)  # 2번자리에 11삽입
print(number)
#-------출력-------#
[1, 2, 11, 3, 4, 5, 6]

(4) 리스트 정렬(sorted)

  • 리스트 정렬은 여러가지 방법이 있습니다.
  • sorted를 이용하면 원본은 보존하고 정렬된 값반환합니다.
  • sort()를 이용하면 원본을 정렬된 상태로 변경해줍니다.

< sorted() >

number = [3, 2, 1, 9, 4, 6]

new_list = sorted(number)
new_list_rev = sorted(number, reverse=True)
print(new_list)
print(new_list_rev)
print(number)
#-------출력-------#
[1, 2, 3, 4, 6, 9]
[9, 6, 4, 3, 2, 1]
[3, 2, 1, 9, 4, 6]

< sort() >

number = [3, 2, 1, 9, 4, 6]

number.sort()
print(number)  # 리스트 원본이 정렬됨

number.sort(reverse=True)
print(number)
#-------출력-------#
[1, 2, 3, 4, 6, 9]
[9, 6, 4, 3, 2, 1]

< reverse() >

number = [3, 2, 1, 9, 4, 6]

number.reverse()  # 정렬하지않고 그대로 역순으로 배치합니다.
print(number)
#-------출력-------#
[6, 4, 9, 1, 2, 3]




3️⃣ 리스트 응용

(1) 리스트 값 확인(in)

< 직접함수를 구현 >

def check_value(list, value):
    i = 0
    while (i < len(list)):
        if (list[i] == value):
            return True
        i += 1
    return False

temp = [1, 2, 3, 5, 6]

print(check_value(temp, 2))
print(check_value(temp, 4))
#-------출력-------#
True
False
  • 리스트의 값을 확인하는 것은 너무 자주 있는 일이기 때문에 파이썬에서는 in이라는 키워드가 내장되어 있습니다.

< in키워드 사용 >

temp = [1, 2, 3, 5, 6]

print(7 in temp)
print(2 in temp)
print(2 not in temp)
#-------출력-------#
False
True
False

(2) 리스트 안의 리스트(Nested list)

  • C언어에서 이중배열의 느낌의 리스트입니다.
temp = [[2, 4, 6], [3, 6, 9], [4, 8, 12]]

print(temp[1])
print(temp[0][0])
print(temp[1][1])
print([2, 4, 6] in temp)
#-------출력-------#
[3, 6, 9] 2 6 True

(2) .index 기능

subject = ["국어", "수학", "과학", "영어"]

print(subject.index("수학"))
print(subject.index("영어"))
#-------출력-------#
1
3

(3) .remove 기능

subject = ["국어", "수학", "과학", "영어", "수학"]

subject.remove("수학")
print(subject)
subject.remove("수학")
print(subject)
#-------출력-------#
['국어', '과학', '영어', '수학']
['국어', '과학', '영어']




< 파이썬[Python] 기초문법 포스트 목차 >

1.  파이썬 기초문법1 [자료형, 기본출력, 함수, 불린형, type함수]
2.  파이썬 기초문법2 [옵셔널 파라미터, 변수(글로벌, 로컬), PEP8, while, if]
>> 파이썬 기초문법3 [리스트(list)]
4.  파이썬 기초문법4 [for, dictionary(사전), 앨리어싱, 리스트와 문자열]
5.  파이썬 기초문법5 [모듈, 표준 라이브러리 모듈, datetime모듈]
6.  파이썬 기초문법6 [input, 파일 입출력함수, strip, split, 여러개 리턴값]





© 2021.02. by kirim

Powered by kkrim