Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 목록에서 요소의 상대적 순서 찾기

<시간/>

요소가 정수인 목록이 제공됩니다. 상대 순서를 찾아야 합니다. 즉, 오름차순으로 정렬된 경우 해당 위치의 인덱스를 찾아야 합니다.

정렬 및 색인 사용

먼저 전체 목록을 정렬한 다음 정렬 후 각 목록의 인덱스를 찾습니다.

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and index()
res = [sorted(listA).index(i) for i in listA]
# printing result
print("list with relative ordering of elements : \n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]

열거 및 정렬

열거 및 정렬된 함수를 사용하여 각 요소를 검색한 다음 열거 및 정렬된 함수를 포함하는 사전 컨테이너를 만듭니다. map 함수를 사용하여 이 컨테이너를 통해 각 요소를 가져옵니다.

listA = [78, 14, 0, 11]
# printing original list
print("Given list is : \n",listA)
# using sorted() and enumerate
temp = {val: key for key, val in enumerate(sorted(listA))}
res = list(map(temp.get, listA))
# printing result
print("list with relative ordering of elements : \n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given list is :
[78, 14, 0, 11]
list with relative ordering of elements :
[3, 2, 0, 1]