【发布时间】:2021-07-22 01:36:36
【问题描述】:
devices = [
'SWTEST1-3AA-02',
'SWTEST1-3AA-02',
'SWTEST1-2CA-01',
'SWTEST1-2CA-01',
'SWTEST1-2AA-02',
'SWTEST1-2AA-02',
'SWTEST1-2AA-02'
]
我正在寻找的输出如下。
[
'SWTEST1-3AA-02',
'SWTEST1-3AA-02-2',
'SWTEST1-2CA-01',
'SWTEST1-2CA-01-2',
'SWTEST1-2AA-02',
'SWTEST1-2AA-02-2',
'SWTEST1-2AA-02-3'
]
我尝试使用 for 循环和计数器,但没有得到我想要的结果,我们将不胜感激。
对于我尝试过的循环:
counter = 1
out = []
for e in devices:
out.append(f"{e}-{counter}")
counter += 1
print(out)
out = []
d = {}
for i in devices:
counter = 1
d.setdefault(i, -1)
d[i] += 1
if d[i] >= 1:
out.append('{}-{}'.format(i, d[i]))
counter += 1
else:
out.append(i)
print(out)
【问题讨论】:
-
展示您的尝试和失败的地方可能会有所帮助。
-
任何答案都将涉及循环和计数器。请发布您尝试过的内容以及出了什么问题。
-
欢迎来到 Stack Overflow!请拨打tour,阅读what's on-topic here、How to Ask和question checklist,并提供minimal reproducible example。 “为我实现此功能”与此站点无关。你必须诚实地尝试,然后就你的算法或技术提出一个具体问题。
-
我添加了一些我用过的例子
标签: python list duplicates