為Python列表中的每個唯一值分配ID
在使用 Python 字典時,我們可能需要唯一地識別字典的每個元素。為此,我們必須為字典中的每個元素分配唯一的 ID。在本文中,我們將瞭解如何為 Python 字典中的重複元素分配相同的唯一 ID。
使用 enumerate() 和 OrderedDict.fromkeys()
enumerate 函式透過為字典的每個元素新增一個計數器來擴充套件給定的字典。然後,我們應用 OrderedDict.fromkeys(),它將從字典中提取相同的計數器值,從而消除 ID 的重複值。
示例
from collections import OrderedDict
Alist = ['Mon','Tue','Wed','Mon',5,3,3]
print("The given list : ",Alist)
# Assigning ids to values
list_ids = [{v: k for k, v in enumerate(
OrderedDict.fromkeys(Alist))}
[n] for n in Alist]
# The result
print("The list of ids : ",list_ids)輸出
執行上述程式碼將得到以下結果:
The given list : ['Mon', 'Tue', 'Wed', 'Mon', 5, 3, 3] The list of ids : [0, 1, 2, 0, 3, 4, 4]
使用來自 collections 的 OrderedDict
在這種方法中,我們使用 defaultdict 函式,它只為新元素分配新的鍵。然後,我們使用 lambda 函式迴圈遍歷唯一 ID 的新列表。
示例
from collections import defaultdict
# Given List
Alist = ['Mon','Tue','Wed','Mon',5,3,3]
print("The given list : ",Alist)
# Assigning ids to values
d_dict = defaultdict(lambda: len(d_dict))
list_ids= [d_dict[n] for n in Alist]
# Print ids of the dictionary
print("The list of ids : ", list_ids)輸出
執行上述程式碼將得到以下結果:
The given list : ['Mon', 'Tue', 'Wed', 'Mon', 5, 3, 3] The list of ids : [0, 1, 2, 0, 3, 4, 4]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP