尹炼 2022-04-10 13:22 采纳率: 100%
浏览 383
已结题

python遍历数组元素进行修改的方法

在定义一个修改数组元素的函数时,自己的代码修改不成功,不知道时什么原因,请教各位:
给一个数组的每个元素前面加上'The Great '几个字符

整体代码如下:
def make_great(great_magicians):
for great_magician in great_magicians:
great_magician = 'The Great '+great_magician
print(great_magician)

magicians_list = ['a', 'b', 'c']
make_great(magicians_list)
print(magicians_list)

未提示报错,但是结果跟预期不一样 ,执行结果如下:
The Great a
The Great b
The Great c
['a', 'b', 'c']

我觉得应该是函数修改的数组没有保存在数组中? 总是感觉对数组哪里没理解

我参考了其他的代码:
def make_great(great_magicians):
for i in range(len(great_magicians)):
great_magicians[i] = 'The Great ' + great_magicians[i]
print(great_magicians[i])

magicians_list = ['a', 'b', 'c']
make_great(magicians_list)
print(magicians_list)

这样输出的结果是符合预期的,但是不知道自己的问题在哪里:
The Great a
The Great b
The Great c
['The Great a', 'The Great b', 'The Great c']

  • 写回答

3条回答 默认 最新

  • 关注

    因为不指定下标的话,每次修改的没有实际生效
    你写的只是单纯取值,great_magicians[i] 才能对应到实际列表

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月10日

悬赏问题

  • ¥15 SPSS分类模型实训题步骤
  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。