#定义了一个列表
moshushis = ['张三','李四','王二']
#定义一个对函数对列表里的元素进行修改
def make_great(greats):
num = 0
for great in greats:
greats[num] = great + 'the Great'
num = num + 1
make_great(moshushis)
print(moshushis)
#我尝试用while去实现,最后调用函数的时候返回的却是一个空列表?
def make_great_while(great_whiles):
great1_whiles = []
while great_whiles:
great1 = great_whiles.pop() + ' hello'
great1_whiles.append(great1)
great_whiles = great1_whiles[:]
make_great_while(moshushis)
print(moshushis)
def make_great_while(great_whiles):
great1_whiles = []
while great_whiles:
great1 = great_whiles.pop() + ' hello'
great1_whiles.append(great1)
return great1_whiles[:]
moshushis = make_great_while(moshushis)
print(moshushis)
题主的第二个函数内部,将传入的列表great_whiles清空,生成了一个新的列表great_whiles,虽然名字相同,却已物是人非了。另外,题主的代码,读起来令人胆战心惊,因此顺便帮题主修改了一下。
def make_great(greats):
"""对列表greats里的元素进行修改(for)"""
for i in range(len(greats)):
greats[i] += 'the Great'
def make_great_while(great_whiles):
"""对列表greats里的元素进行修改(while)"""
i = 0
while i < len(great_whiles):
great_whiles[i] += ' hello'
i += 1
moshushis = ['张三','李四','王二']
make_great(moshushis)
print(moshushis)
make_great_while(moshushis)
print(moshushis)
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y