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

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日

悬赏问题

  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力