SW/리눅스

Python : Lists 예제, 사용 방법, 명령어

얇은생각 2022. 8. 14. 07:30
반응형

Python에는 데이터 모음을 체계적이고 효율적인 방식으로 저장할 수 있는 여러 가지 순차적 데이터 유형이 포함되어 있습니다. 기본 시퀀스 유형은 리스트, 튜플 및 범위 개체입니다.

이 문서는 파이썬 list을 살펴봅니다. 리스트 작성, 리스트 조각 및 정렬, 리스트 요소 추가 또는 제거 방법 등을 보여드리겠습니다.

list은 변경 가능한 시퀀스이며, 생성 후 변경할 수 있습니다. list은 Python에서 가장 일반적으로 사용되는 데이터 유형 중 하나이며 일반적으로 동일한 유형의 항목 모음을 저장하는 데 사용됩니다.

 

 

Python : Lists 예제, 사용 방법, 명령어

 

 

리스트 생성

list은 일반적으로 쉼표로 구분된 대괄호 [] 안에 항목을 배치하여 만듭니다. 이러한 항목에는 유형이 다를 수 있는 개수의 항목이 포함될 수 있습니다. 다음은 예입니다.

L = ['orange', 'white', 'green']

 

 

사이에 요소가 없는 대괄호는 빈 list을 나타냅니다.

L = []

 

 

Python list은 일반적으로 동종이지만 다음과 같은 데이터 유형이 혼합된 항목을 가질 수 있습니다.

L = [1, 'white', 6.5]

 

 

하나 이상의 항목이 list인 중첩 list을 선언할 수도 있습니다.

L = [1, 2, ['red', 'blue']]

 

 

여러 요소의 값이 같을 수 있습니다.

L = [1, 2, 3, 2, 2, 1]

 

 

리스트는 리스트 캄프리헨션, list() 생성자 및 정렬()과 같은 기타 기본 제공 함수를 사용하여 구성할 수도 있습니다.

 

 

 

list 요소에 액세스

list 항목은 인덱스에서 참조할 수 있습니다. 색인은 정수이며 0에서 n-1까지 시작합니다. 여기서 n은 항목 수입니다.

L = ["a", "b", "c", "d"]
      0    1    2    3

 

 

Python 인덱스는 대괄호로 묶습니다.

L[index]

 

 

예를 들어, list의 두 번째 요소에 액세스하려면 다음을 사용합니다.

colors = ['orange', 'white', 'green']
colors[1]

# 'white'

 

 

존재하지 않는 인덱스를 참조할 경우 IndexError 예외가 발생합니다.

# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# IndexError: list index out of range

 

 

중첩 list의 항목에 액세스하려면 여러 인덱스를 사용합니다.

L = [1, 2, ["red", "blue"]]
L[2][1]

# 'blue'

 

 

Python을 사용하면 음수 인덱스를 사용하여 list 항목에 액세스할 수도 있습니다. 마지막 항목은 -1이고 두 번째 마지막 항목은 -2입니다.

L = ["a", "b", "c", "d"]
     -4   -3   -2   -1

 

 

예를 들어 끝에서 두 번째 요소에 액세스하려면 다음을 사용합니다.

colors = ['orange', 'white', 'green']
colors[-2]

# 'white'

 

 

 

리스트 자르기

Python에서는 다음 형식을 사용하여 list을 슬라이스할 수 있습니다.

L[start:stop:step]

 

 

• 첫 번째 인수는 추출이 시작되는 인덱스를 지정합니다. 음수 인덱스가 사용되면 list 끝의 오프셋을 나타냅니다. 이 인수를 생략하면 색인 0부터 슬라이싱이 시작됩니다.

• 두 번째 인수는 추출을 종료하기 전에 인덱스를 지정합니다. 결과에는 "중지" 요소가 포함되지 않습니다. 음수 인덱스가 사용되면 list 끝의 오프셋을 나타냅니다. 이 인수가 누락되었거나 리스트 길이보다 크면 슬라이싱이 리스트 끝으로 이동합니다.

• 세 번째 인수는 선택 사항이며 슬라이싱 단계를 지정합니다. "단계" 인수를 사용하지 않으면 기본값은 1입니다. 음수 값이 사용되면 슬라이스는 요소를 역순으로 가져옵니다.

 

list을 잘라내면 추출된 요소가 포함된 새 list이 생성되고 원래 list은 수정되지 않습니다.

다음은 합법적인 Python 구문입니다.

L[:] # copy whole list
L[start:] # slice the list starting from the element with index "start" to the end of the list.
L[:stop] # slice the list starting from the begging up to but not including the element with index "stop".
L[start:stop] #  slice the list starting from the element with index "start" up to but not including the element with index "stop".
L[::step] #  slice the list with a stride of "step"

 

아래는 인덱스가 1인 요소에서 시작하여 인덱스가 4인 요소를 포함하지 않고 list을 슬라이스하는 방법에 대한 기본적인 예입니다.

fruits = ['Apple', 'Peach', 'Lemon', 'Strawberry', 'Grape']
fruits[1:4]

# ['Peach', 'Lemon', 'Strawberry']

 

 

 

요소 값을 업데이트

list에서 특정 항목의 값을 변경하려면 해당 항목 색인 번호를 참조하십시오.

L[index] = value

 

 

 

다음은 list의 마지막 요소 값을 업데이트하는 방법을 보여주는 예입니다.

colors = ['orange', 'white', 'green']
colors[-1] = "blue"
print(colors)

# ['orange', 'white', 'blue']

 

 

지정된 인덱스를 가진 요소가 있으면 값이 업데이트됩니다. 그렇지 않으면 IndexError 예외가 발생합니다.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range

 

 

list의 슬라이스를 새 값으로 업데이트할 수도 있습니다.

colors = ['orange', 'white', 'green']
colors[1:3] = ['red']
print(colors)

# ['orange', 'red']

 

 

교체 청크의 항목 수는 list보다 작거나 크거나 같을 수 있습니다. list을 확장하거나 축소할 수 있습니다.

 

 

 

리스트에 요소를 추가

list 데이터 유형에는 list , 추가() 및 삽입()에 요소를 추가할 수 있는 두 가지 방법이 있습니다.

추가() 메서드는 list 끝에 항목을 추가합니다. add() 메서드의 구문은 다음과 같습니다.

L.append(element)

 

 

list에 추가할 항목은 "http"입니다. list을 포함한 모든 데이터 유형일 수 있습니다. 다음은 예입니다.

colors = ['orange', 'white', 'green']
colors.append('red')
print(colors)

# ['orange', 'white', 'green', 'red']

 

 

삽입() 메소드는 list의 특정 위치에 있는 항목을 보급하며 다음과 같은 구문을 사용합니다.

L.insert(index, element)

 

 

"색인"은 요소를 삽입할 위치이고 "색인"은 list에 추가할 항목입니다. 다음 예는 첫 번째 위치의 리스트에 요소를 추가하는 방법을 보여줍니다.

colors = ['orange', 'white', 'green']
colors.insert(0, 'red')
print(colors)

# ['red', 'orange', 'white', 'green']

 

 

extend() 방법을 사용하면 여러 요소가 있는 list을 확장할 수 있습니다. 단일 인수를 사용하며 구문은 다음과 같습니다.

L.extend(list)

 

 

"list"의 요소는 "L"의 끝에 추가됩니다. 다음은 예입니다.

colors = ['orange', 'white', 'green']
colors.extend(['blue', 'black'])
print(colors)

# ['orange', 'white', 'green', 'blue', 'black']

 

 

 

리스트에서 요소를 제거

remove() 메서드는 하나의 인수를 사용하고 인수와 일치하는 값을 가진 첫 번째 요소를 list에서 제거합니다.

L.remove(element)

colors = ['orange', 'white', 'orange', 'green']
colors.remove('orange')
print(colors)

# ['white', 'orange', 'green']

 

 

지정된 값을 가진 요소가 없으면 ValueError 예외가 발생합니다.

# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# ValueError: list.remove(x): x not in list

 

 

pop() 메소드는 하나의 인수를 사용하고 인수와 일치하는 인덱스를 가진 요소를 list에서 제거합니다.

L.pop(element)

 

 

인수는 선택 사항이며 기본적으로 list의 마지막 항목인 "-1"이 사용됩니다. 메서드의 반환 값은 제거된 항목입니다. 다음은 예입니다.

colors = ['orange', 'white', 'green']
colors.pop(1)
print(colors)

# 'white'
# 
# ['orange', 'green']

 

 

델 키워드와 슬라이스 표기법을 함께 사용하면 둘 이상의 항목을 제거할 수 있습니다. 예를 들어 list에서 처음 두 항목을 제거하려면 다음을 사용합니다.

모든 항목을 제거하려면 list을 지우고 인수를 허용하지 않는 clear() 방법을 사용합니다.

colors = ['orange', 'white', 'green']
colors.clear()
print(colors)

# []

 

 

 

list의 길이를 찾습니다.

기본 제공 len() 함수는 객체의 총 항목 수를 반환합니다.

list의 길이를 찾으려면 len() 함수에 인수로 전달합니다.

len(L)

 

 

다음은 예입니다.

colors = ['orange', 'white', 'green']
num = len(colors)
print(num)

# 3

 

 

 

list을 통해 반복

list의 모든 항목을 반복하려면 for 루프를 사용합니다.

colors = ['orange', 'white', 'green']
for color in colors:
    print(color)

# orange
# white
# green

 

 

인덱스가 필요하면 몇 가지 방법을 사용할 수 있습니다. 가장 일반적인 방법은 범위() 및 len() 함수를 결합하거나 내장 열거() 함수를 사용하는 것입니다.

아래 예는 인덱스와 list의 각 항목 값을 검색하는 방법을 보여줍니다.

colors = ['orange', 'white', 'green']
for i in range(len(colors)):
  print("Index {} : Value {}".format(i, colors[i]))

# Index 0 : Value orange
# Index 1 : Value white
# Index 2 : Value green

 

 

범위(len(...) 패턴을 사용하는 대신 열거() 함수를 사용하여 보다 피토닉한 방식으로 list을 반복할 수 있습니다.

colors = ['orange', 'white', 'green']
for index, value in enumerate(colors): 
  print("Index {} : Value {}".format(index, value))

# Index 0 : Value orange
# Index 1 : Value white
# Index 2 : Value green

 

 

 

요소가 존재하는지 확인

항목이 list에 있는지 여부를 확인하려면 연산자에 in 및 not를 사용할 수 있습니다.

colors = ['orange', 'white', 'green']
print('orange' in colors)

# True

 

 

다음은 if 문을 사용한 또 다른 예입니다.

colors = ['orange', 'white', 'green']
if 'blue' not in colors:
    print('no')
else:
    print('yes')

# no

 

 

 

Python list 메서드

list 개체에서는 다음 방법을 사용할 수 있습니다.

• add(x) - list 끝에 항목을 추가합니다.

• clear() - list에서 모든 항목을 제거합니다.

• copy() - list의 얕은 사본을 반환합니다.

• count(x) - list에 'x'가 나타나는 횟수를 반환합니다.

• 확장(가능) - list의 끝에 '가능'을 추가합니다.

• index(x) - 값이 'x'인 요소가 처음 나타나는 위치를 반환합니다.

• insert(i, x) - 지정된 위치에 항목을 추가합니다.

• pop(i) - 지정된 위치에서 항목을 제거합니다.

• remove() - 지정된 값을 가진 항목을 제거합니다.

• 역방향() -list의 요소를 반전합니다.

• sort() - list의 항목을 정렬합니다.

 

이 기사에서는 파이썬에서 list을 만들고 작업하는 방법에 대해 논의했습니다. list 데이터 유형에는 여러 가지 유용한 방법이 포함되어 있습니다.

 

 

참조

https://linuxize.com/post/python-list/

반응형