-1

假设我们有一个以字符串形式给出的人名列表

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

我想要一个列表,而不是名称,将使用此人的其他标识符,例如:

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

我想指出两点:

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 回答