Python 基于字符串列表中的出现创建序列号,然后配对

Python 基于字符串列表中的出现创建序列号,然后配对,python,list,find-occurrences,Python,List,Find Occurrences,我正在尝试根据字符串列表创建标识号列表。id号将是字符串和连续数字的组合 我的输入列表的简短示例如下: ['N10','N10','N20','N30','N40','N40','N40','N40','N40','N20'] 然后我想根据姓名+连续数字生成一个新列表,此列表中不能有重复。像这样: ['N100','N101','N200','N300','N400','N401','N402','N403','N404','N201'] 您可以使用集合。计数器: In [38]: impo

我正在尝试根据字符串列表创建标识号列表。id号将是字符串和连续数字的组合

我的输入列表的简短示例如下:

['N10','N10','N20','N30','N40','N40','N40','N40','N40','N20']
然后我想根据姓名+连续数字生成一个新列表,此列表中不能有重复。像这样:

['N100','N101','N200','N300','N400','N401','N402','N403','N404','N201']

您可以使用集合。计数器:

In [38]: import collections 

In [39]: c = collections.Counter(l) # l is your data
创建唯一的查找

使用list comp返回该项目的下一次计数:

In [45]: [x + str(next(lookup[x])) for x in l]
Out[45]: 
['N100',
 'N101',
 'N200',
 'N300',
 'N400',
 'N401',
 'N402',
 'N403',
 'N404',
 'N201']

您可以使用集合。计数器:

In [38]: import collections 

In [39]: c = collections.Counter(l) # l is your data
创建唯一的查找

使用list comp返回该项目的下一次计数:

In [45]: [x + str(next(lookup[x])) for x in l]
Out[45]: 
['N100',
 'N101',
 'N200',
 'N300',
 'N400',
 'N401',
 'N402',
 'N403',
 'N404',
 'N201']

你试过什么?你犯了什么错误?你试过什么?你犯了什么错误?