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

Python에서 목록의 고유 번호에 값 할당

<시간/>

여러 번 우리는 목록의 요소를 고유하게 식별해야 합니다. 이를 위해 목록의 각 요소에 고유한 ID를 할당해야 합니다. 이는 Python에서 사용할 수 있는 서로 다른 내장 함수를 사용하는 다음 두 가지 접근 방식으로 달성할 수 있습니다.

열거 및 설정 사용

열거 함수는 각 요소에 고유한 ID를 할당합니다. 그러나 목록이 이미 중복 요소인 경우 목록을 구성하는 키 값 쌍의 사전을 만들고 set 함수를 사용하여 고유한 값을 할당해야 합니다.

예시

# Given List
Alist = [5,3,3,12]
print("The given list : ",Alist)

# Assigning ids to values
enum_dict = {v: k for k, v in enumerate(set(Alist))}
list_ids = [enum_dict[n] for n in Alist]

# Print ids of the dictionary
print("The list of unique ids is: ",list_ids)

출력

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

The given list : [5, 3, 3, 12]
The list of unique ids is: [2, 0, 0, 1]

count() 및 map() 사용

map() 함수는 전달된 다른 매개변수에 동일한 함수를 계속해서 적용합니다. 그러나 count 메서드는 지정된 값을 가진 요소의 수를 반환합니다. 그래서 우리는 이 두 가지를 결합하여 아래 프로그램에서 주어진 목록의 요소에 대한 고유 ID 목록을 얻습니다.

예시

from itertools import count

# Given List
Alist = [5,3,3,12]
print("The given list : ",Alist)

# Assign unique value to list elements
dict_ids = list(map({}.setdefault, Alist, count()))

# The result
print("The list of unique ids is: ",dict_ids)

출력

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

The given list : [5, 3, 3, 12]
The list of unique ids is: [0, 1, 1, 3]