免責事項: 私は経験豊富な Python ユーザーではありません。
あるタスクに遭遇したので、Python でそれを行う最もエレガントな方法を見つけようとしています。
タスク自体は次のとおりです。指定された文字列の a がs のリスト (それぞれ0 から N - 1 まで、N はリスト内の一意の文字列の数) をlist
返します。ここで、各 int は最初のリストの特定の文字列に対応します。同じ文字列は同じ番号、異なる文字列、つまり異なる番号にマップする必要があります。int
int
私が最初に思いついたのは、「少し」複雑すぎるようです。
a = ["a","b","a","c","b","a"]
map(lambda x: dict(map(lambda x: reversed(x), enumerate(set(a))))[x], a)
上記のコードの結果:
[0, 2, 0, 1, 2, 0]