-1

文字列として与えられた人々の名前のリストがあると仮定しましょう

people = ["john", "mike", "patrick", "vince", "mike"]

名前の代わりに、この人々の他の識別子が使用されるリストが必要です。たとえば、次のようになります。

people_ids = ["p1", "p2", "p3", "p4", "p2"]

指摘したいことが2つあります。

1) id の形式は重要ではありません。番号付けは 0 から開始できます。

2) 指定された名前が繰り返される場合、対応する ID も同じ位置で繰り返されるようにします。people_ids

どうすればこれを達成できますか? おそらくいくつかの辞書を使用していますよね?

4

1 に答える 1

1

あなたはそのようなものを探していますか

people = ["john", "mike", "patrick", "vince", "mike", "foo"]

def build(l):
    d = {}
    i = 1
    for p in people:
        if not p in d:
            d[p] = 'p' + str(i)
            i += 1
        yield d[p]

people_ids = list(build(people))    
于 2013-10-28T10:40:11.077 に答える