gpt4 book ai didi

python - 在 python 中矢量化 for 循环

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:09 28 4
gpt4 key购买 nike

我是 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']

关于python - 在 python 中矢量化 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21883354/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com