Python 강좌 : 제 9강 - List 기초 연산 (2)

Python List 기초 연산 (2)

Python 강좌 : 제 9강 - List 기초 연산 (2)
[ Python ] - 윤대희

리스트(List)


Python에서는 List를 이용하여 다양한 연산이 가능합니다.

데이터 형식과는 무관하게 저장할 수 있으며 List안에 또 다른 List를 포함시킬 수 있습니다.

List는 대괄호([])를 사용하며 순서를 중요시합니다. 또한 연산시 원소에 대한 값이 아닌 List 자체에 대한 연산을 실시합니다.

즉, 목록 자체에 대한 연산이므로 내부 요소가 아닌 목록에 대해 영향을 미칩니다.



조사


a = [1, 1, 2, 3, 5, 8, 13]
b = ["a", "a", "b", "c", "xyz", [1, 2, 3]]

print(len(a))
print(min(a))
print(max(a))
print(b.index([1, 2, 3]))
print(b.count("a"))
print("a" in b)
결과
7
1
13
5
2
True


len()을 이용하여 리스트의 길이를 확인할 수 있습니다.

min()을 이용하여 리스트에서 최솟값을 가지는 원소의 값을 확인할 수 있습니다.

max()를 이용하여 리스트에서 최댓값을 가지는 원소의 값을 확인할 수 있습니다.

리스트.index()를 이용하여 해당 값이 가지는 위치를 확인 할 수 있습니다. (시작값=0)

리스트.count()를 이용하여 해당 값이 가지는 개수를 확인할 수 있습니다.

값 in 리스트를 이용하여 해당 값이 존재하는지 확인할 수 있습니다.


  • Tip : 문자열이나 리스트가 포함된 리스트에는 max(), min()을 이용할 수 없습니다.



대입


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

a[1] = 2

print(a)
결과
[0, 2, 2, 3, 4, 5, 6, 7, 8, 9]

리스트의 값을 직접적으로 변경시켜 값을 변경할 수 있습니다.



삽입


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

a.insert(0, -1)
a.insert(-1, 10)

print(a)
결과
[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 9]

리스트.insert(index, value)를 이용하여 index바로 앞자리value를 삽입합니다.


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

a.append(10)

print(a)
결과
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

리스트.append(value)를 이용하여 리스트의 마지막 자리value를 삽입합니다.


a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
b = [10, 11]

a.extend(b)

print(a)
결과
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

리스트.extend(list)를 이용하여 리스트의 마지막 자리에 list의 원소들을 삽입합니다.



삭제


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

del a[1:-1]

print(a)
결과
[0, 9]


del 리스트[start, end]를 이용하여 start부터 end-1까지의 원소를 삭제합니다.


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

a.pop(1)

print(a)
결과
[0, 2, 3, 4, 5, 6, 7, 8, 9]


리스트.pop(index)를 이용하여 index에 위치한 원소를 삭제합니다.


  • Tip : index를 생략할 경우 index의 값을 -1로 간주합니다.


a = ["x", "y", "z", "y"]

a.remove("y")

print(a)
결과
[‘x’, ‘z’, ‘y’]


리스트.remove(value)를 이용하여 value와 동일한 값을 지니는 원소 하나를 삭제합니다.


  • Tip : index가 0에 가까운 순서부터 삭제합니다.



자르기


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

a = a[:4]

print(a)
print(a[1:])
print(a)
결과
[0, 1, 2, 3]
[1, 2, 3]
[0, 1, 2, 3]

a[start:end]를 이용하여 리스트를 자를 수 있습니다. startend를 미입력시 각각 첫 번째 index마지막 index로 간주합니다.


  • Tip : 대입 연산을 하지 않으면 원본 리스트에는 영향을 주지 않습니다.



정렬


a = [1, 0, 2, 4, 3]

a.sort()
    
print(a)
결과
[0, 1, 2, 3, 4]

리스트.sort()를 이용하여 리스트를 오름차순으로 정렬합니다.


a = [1, 0, 2, 4, 3]

a.sort(reverse=True)
    
print(a)
결과
[4, 3, 2, 1, 0]

리스트.sort(reverse=True)를 이용하여 리스트를 내림차순으로 정렬합니다.


  • Tip : reverse=False로 사용할 경우 오름차순으로 정렬합니다.


a = [1, 0, 2, 4, 3]

a.reverse()

print(a)
결과
[3, 4, 2, 0, 1]

리스트.reverse()를 이용하여 리스트를 역순으로 정렬합니다.


a = [1, 0, 2, 4, 3]

a = sorted(a, reverse=True)

print(a)
결과
[4, 3, 2, 1, 0]

sorted(리스트, reverse=bool)를 이용하여 리스트를 내림차순으로 정렬합니다.

sort()sorted()key 매개변수에 lambda를 이용해 더 세부적인 정렬을 할 수 있습니다.


Lambda 사용하기 : 21강 바로가기



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python 강좌 : 제 8강 - List 기초 연산 (1) ⤧  Next post Python 강좌 : 제 10강 - 문자열
    Python Category