为什么此代码像将其粘在无限循环中一样



我正在尝试创建条目(1000(,而我从名称开始。我想出了一些名称,并计划将添加到数字0-9的条目复制到创建更多唯一名称的条目。因此,我将一个用于循环内部的循环。是否不可能将索引更改为字符串并将其添加到列表中的项目末尾。

我考虑过增量,因为我最近在C 中进行了很多编码,但这无效,因为当您使用Python的范围函数时,您不需要增加。我考虑了更改循环的顺序

name = ['event', 'thing going on', 'happening', 'what everyones talkin', 'that thing', 'the game', 'the play', 'outside time', 'social time', 'going out', 'having fun']
for index in range(10): 
    for item in name:
        name.append(item+str(index))
return name

我希望它打印出['event0', 'thing going on1', ... 'having fun10']

谢谢!

使用列表理解

  • 枚举(( - 方法添加了一个对峰值的计数器,并以枚举对象的形式返回。

ex。

name = ['event', 'thing going on', 'happening', 'what everyones talkin', 'that thing', 'the game', 'the play', 'outside time', 'social time', 'going out', 'having fun']
new_list = [x+str(index) for index,x in enumerate(name)]
print(new_list)

O/P:

['event0', 'thing going on1', 'happening2', 'what everyones talkin3', 'that thing4', 'the game5', 'the play6', 'outside time7', 'social time8', 'going out9', 'having fun10']

使用新列表并在此处附加:

newName = []
for index in range(10): 
    for item in name:
        newName.append(item+str(index))
return newName

每次通过循环运行时,您都会在列表中添加更多元素。列出一个新的空列表,并将元素附加到该列表中。这样,您的初始列表保持不变。

循环的内部循环正在将新元素附加到数组中。

您只需要

for index in range(10): 
    name[index] = name[index] + str(index)

现在,您的数组包含您的预期输出。这更改了您的原始阵列顺便说一句。如果您希望它保持不变,请执行以下操作。

newArray = []
for index in range(10): 
        newArray [index] = name[index] + str(index)

它将按照您的期望工作:

name = ['event', 'thing going on', 'happening', 'what everyones talkin', 'that thing', 
'the game', 'the play', 'outside time', 'social time', 'going out', 'having fun']
for index in range(10): 
    name[index] = name[index]+str(index)
print (name)

输出:

['event0', 'thing going on1', 'happening2', 'what everyones talkin3', 'that thing4', 'the game5', 'the play6', 'outside time7', 'social time8', 'going out9', 'having fun10']

最新更新