向量化python中的for循环

悠天

我是python的新手,对于向量化代码有个问题要问

def makeNames2(nList):
  for nLi in nList:
    nLIdx=[i for i,j in enumerate(nList) if j==nLi]
    if nLIdx.__len__()>1:
        for i,j in enumerate(nLIdx):
            if i>0: nList[j]=nList[j]+str(i)
  return nList

它执行以下操作:

>>> nLTest=['asda','asda','test','ada','test','yuil','test']
>>> print(makenames2(nLTest)
['asda', 'asda1', 'test', 'ada', 'test1', 'yuil', 'test2']

该代码工作正常,但我想知道是否有一种方法可以对for循环进行矢量化处理

编辑

感谢所有三个答案。这正是我感兴趣的,并且希望选择所有答案。我不能选择多个,但所有这些都能工作。

四人
nLTest, items = ['asda','asda','test','ada','test','yuil','test'], {}
for idx, item in enumerate(nLTest):
    nLTest[idx] += str(items.setdefault(item, 0) or "")
    items[item] += 1
print nLTest

输出

['asda', 'asda1', 'test', 'ada', 'test1', 'yuil', 'test2']

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章