상위 목록: 하위 목록: 작성 날짜: 읽는 데 18 분 소요

목록(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를 이용해 더 세부적인 정렬을 할 수 있습니다.

댓글 남기기