为什么运行这段Python代码时print()函数无输出、得到空列表?
问题原因
你运行的代码触发了无限死循环,永远无法执行到print(thislist)这一行,自然不会有任何输出。
具体逻辑:Python的for循环遍历可变序列(比如列表)时,会持续读取序列当前的最新元素,你在循环体中每次都给thislist追加新的大写字符串,会导致列表长度无限增长,循环永远不会结束。
修复方案
如果你的需求是给原列表追加三个元素的大写格式,只需要遍历列表初始状态的元素即可,参考代码如下:
thislist = ["apple", "banana", "cherry"] # 提前获取初始长度,避免遍历后续新增的元素 for i in range(len(thislist)): thislist.append(thislist[i].upper()) print(thislist)
运行后输出为:['apple', 'banana', 'cherry', 'APPLE', 'BANANA', 'CHERRY']
内容的提问来源于stack exchange,提问作者Kayshika
相关产品推荐
相关产品推荐

