python
목록은 다양한 데이터 유형(int, float, Boolean, string 등)의 항목을 순서가 지정된 순서로 저장하는 컨테이너입니다. Python에 내장된 중요한 데이터 구조입니다. 데이터는 대괄호([]) 안에 기록되며 값은 쉼표(,)로 구분됩니다.
목록 내의 항목은 인덱스 0에서 시작하는 첫 번째 요소로 인덱싱됩니다. 새 항목을 추가하거나 기존 항목을 업데이트, 삭제하여 생성된 목록을 변경할 수 있습니다. 또한 중복 항목과 중첩 목록이 있을 수 있습니다.
목록에 사용할 수 있는 메서드가 많이 있으며 그 중 중요한 메서드는 index()입니다.
이 자습서에서는 다음을 배우게 됩니다.
list index() 메서드는 주어진 요소의 첫 번째 가장 낮은 인덱스를 찾는 데 도움이 됩니다. 목록 내부에 중복 요소가 있는 경우 요소의 첫 번째 인덱스가 반환됩니다. 이것은 색인을 얻는 가장 쉽고 간단한 방법입니다.
기본 제공 목록 index() 메서드 외에도 목록 이해, enumerate(), 필터 메서드를 사용하여 목록을 반복하는 것과 같은 다른 방법을 사용하여 인덱스를 가져올 수도 있습니다.
list index() 메서드는 주어진 요소의 첫 번째 가장 낮은 인덱스를 반환합니다.
list.index(element, start, end)
매개변수 | 설명 |
---|---|
요소 | 인덱스를 얻고자 하는 요소입니다. |
시작 | 이 매개변수는 선택 사항입니다. start:index를 정의하여 요소를 검색할 수 있습니다. 지정하지 않으면 기본값은 0입니다. |
종료 | 이 매개변수는 선택 사항입니다. 검색할 요소의 끝 인덱스를 지정할 수 있습니다. 제공하지 않으면 목록의 끝까지 고려됩니다. |
list index() 메서드는 주어진 요소의 인덱스를 반환합니다. 요소가 목록에 없으면 index() 메서드는 오류를 발생시킵니다. 예를 들어 ValueError:'Element'가 목록에 없습니다.
my_list =['A', 'B', 'C', 'D', 'E', 'F'] 목록에서 요소 C 및 F에 대한 인덱스를 알고 싶습니다.
아래 예는 색인을 얻는 방법을 보여줍니다.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("The index of element C is ", my_list.index('C')) print("The index of element F is ", my_list.index('F'))
출력:
The index of element C is 2 The index of element F is 5
이 예에서는 시작 및 끝 인덱스를 사용하여 목록에서 인덱스 검색을 제한하려고 합니다.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('C', 1, 5)) print("The index of element F is ", my_list.index('F', 3, 7)) #using just the startindex print("The index of element D is ", my_list.index('D', 1))
출력:
The index of element C is 2 The index of element F is 5 The index of element D is 3
존재하지 않는 요소에 대한 목록에서 인덱스를 검색하려고 하면 아래와 같은 오류가 발생합니다.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
출력:
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
list.index() 메서드를 사용하여 인수로 전달된 요소의 인덱스를 제공하는 것을 보았습니다.
이제 목록을 다음과 같이 고려하십시오. my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] . 인덱스에 'Guru'라는 이름이 3번 나오는데, 'Guru'라는 이름의 모든 인덱스를 원합니다.
for-loop를 사용하면 아래 예와 같이 여러 인덱스를 얻을 수 있습니다.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
출력:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
while 루프를 사용하면 주어진 요소의 모든 인덱스를 얻기 위해 주어진 목록을 반복합니다.
목록에서 my_list =['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], 'Guru' 요소의 모든 인덱스가 필요합니다.피>
다음은 while 루프를 사용하여 모든 인덱스를 가져오는 방법을 보여주는 예입니다.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
출력:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
모든 인덱스를 얻으려면 목록에 대한 목록 이해를 사용하는 것이 빠르고 간단한 방법입니다.
목록 이해는 새 시퀀스(예:목록, 사전 등), 즉 이미 생성된 시퀀스를 사용하여 생성하는 데 사용되는 Python 함수입니다.
긴 루프를 줄이고 코드를 더 쉽게 읽고 유지 관리할 수 있도록 도와줍니다.
다음 예는 수행 방법을 보여줍니다.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru'] print("Indexes for element Guru : ", all_indexes)
출력:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Enumerate() 함수는 파이썬에서 사용할 수 있는 내장 함수입니다. 열거를 사용하여 목록에 있는 요소의 모든 인덱스를 가져올 수 있습니다. 입력을 반복 가능한 객체(즉, 반복할 수 있는 객체)로 받아들이고 출력은 각 항목에 대한 카운터가 있는 객체입니다.
다음 예는 주어진 요소에 대한 모든 인덱스를 가져오기 위해 목록에서 열거를 사용하는 방법을 보여줍니다.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
출력:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
filter() 메서드는 주어진 함수를 기반으로 주어진 목록을 필터링합니다. 목록의 각 요소는 함수에 전달되고 필요한 요소는 함수에 제공된 조건에 따라 필터링됩니다.
filter() 메서드를 사용하여 목록에서 주어진 요소에 대한 인덱스를 가져오도록 합시다.
다음 예는 목록에서 필터를 사용하는 방법을 보여줍니다.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print("Indexes for element Guru : ", all_indexes)
출력:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
NumPy 라이브러리는 특별히 배열에 사용됩니다. 따라서 여기에서는 주어진 목록에서 필요한 요소의 인덱스를 가져오기 위해 NumPy를 사용할 것입니다.
NumPy를 사용하려면 NumPy를 설치하고 가져와야 합니다.
다음은 동일한 단계입니다.
1단계) Numpy 설치
pip install numpy
2단계) NumPy 모듈을 가져옵니다.
import numpy as np
3단계) np.array를 사용하여 목록을 배열로 변환
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
4단계) np.where()
를 사용하여 원하는 요소의 인덱스를 가져옵니다.item_index = np.where(np_array == 'Guru')[0]
출력이 있는 최종 작업 코드는 다음과 같습니다.
import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list) item_index = np.where(np_array == 'Guru')[0] print("Originallist ", my_list) print("Indexes for element Guru :", item_index)
출력:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
more_itertools.locate()는 목록에서 요소의 인덱스를 찾는 데 도움이 됩니다. 이 모듈은 python 버전 3.5 이상에서 작동합니다. 패키지 more_itertools 사용하려면 먼저 설치해야 합니다.
다음은 more_itertools
를 설치하고 사용하는 단계입니다.1단계) pip(python 패키지 관리자)를 사용하여 more_itertools를 설치합니다. 명령은
pip install more_itertools
2단계) 설치가 완료되면 locate를 가져옵니다. 아래와 같은 모듈
from more_itertools import locate
이제 아래 예제와 같이 목록에서 위치 찾기 모듈을 사용할 수 있습니다.
from more_itertools import locate my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist : ", my_list) print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
출력:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
python
Pillow Python Imaging Library는 이미지 처리에 이상적입니다. 일반적으로 보관 및 일괄 처리 응용 프로그램에 사용됩니다. 물론, 생각할 수 있는 다른 용도로 자유롭게 사용할 수 있습니다. 라이브러리를 사용하여 다음을 수행할 수 있습니다. 썸네일 만들기 파일 형식 간 변환, 이미지 인쇄 Fet 히스토그램(자동 대비 향상에 이상적) 이미지 회전 흐림 효과와 같은 필터 적용 목차 이미지 처리 패키지 설치 이미지 처리 중 이미지 표시 추가 정보 이미지 처리 패키지 설치 Pillow를 설치하려면 원래 Pyth
Python 생태계에서 생각할 수 있는 거의 모든 것을 위한 패키지가 있으며, 모두 간단한 pip 명령으로 설치할 수 있습니다. 따라서 Python에도 이모티콘을 사용할 수 있는 패키지가 있다는 사실에 놀라지 마세요. 다음을 사용하여 이모티콘 패키지를 설치할 수 있습니다. $ pip3 install emoji 이 패키지를 사용하면 유니코드 이모티콘을 문자열 버전으로 또는 그 반대로 변환할 수 있습니다. import emoji result = emoji.emojize(Python is :thumbs_up:) print(result