Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonリストの一意の値ごとにIDを割り当てます


Python辞書を使用している間、辞書の各要素を一意に識別する必要がある場合があります。そのためには、辞書の各要素に一意のIDを割り当てる必要があります。この記事では、Pythonディクショナリで繰り返される場合に、同じ一意のIDを要素に割り当てる方法を説明します。

enumerate()およびOrde​​redDict.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]

コレクションからのOrderedDictの使用

このメソッドでは、新しい要素にのみ新しいキーを割り当てるdefaultdict関数を使用します。次に、ラムダ関数を使用して、一意の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]

  1. Pythonの整数リストの各要素にKを追加する

    データ分析では、新しいシナリオの結果を判断するために、Pythonリストの各要素に値を追加する必要がある場合があります。これは、データセットがさまざまな値でどのように動作するかについて複数のシナリオをテストするのに役立ちます。したがって、それらのシナリオを処理できるモデルまたはアルゴリズムを作成します。この記事では、この要件をどのように処理できるかを説明します。 リスト内包表記の使用 リスト内包表記は、リストの各要素をループするリストを処理する通常の方法です。以下の例では、単純なforループを使用してリストの各要素に同じ番号を追加します。 例 orig_list = [5, 6, 7, 4,

  2. Pythonのサブリストに付加価値を付ける

    場合によっては、既存のリストに追加の値を導入する必要があります。この記事では、既存のリストの各項目と組み合わせて、新しい値を既存のリストに挿入する方法を説明します。 Forループの使用 同じ長さのアイテムを含むリストを取得する場合、このメソッドを使用して、リストの各アイテムに新しい値を導入できます。以下の例では、リストを取得しています 例 List = [[10, 20], [14, 8],['Mon','Tue']] print("Given List: \n" + str(List)) s = "Rise" t =