Python如何给列表内每个姓名前添加前缀'Sir'?
报错原因说明
append()、insert()是Python列表类型的专属方法,你代码中sir_beatles[index]取到的是字符串类型的成员名字,调用这两个方法自然会触发属性不存在的报错。给字符串添加前缀直接用字符串拼接或者格式化即可。
实现方案
伪代码
// 初始化原数组 SET beatles = ["John", "Paul", "Ringo", "George"] // 初始化空的目标数组 SET sir_beatles = 空数组 // 遍历原数组每个元素 FOR EACH name IN beatles: // 拼接前缀后加入目标数组 ADD "Sir " + name TO sir_beatles END FOR // 输出结果 PRINT sir_beatles
Python代码实现
适配你原有写法的版本
size = 4 index = 0 beatles = ["John", "Paul", "Ringo", "George"] # 原数组打印可以保留 for index in range(len(beatles)): print(beatles[index]) sir_beatles = [None] * size for index in range(0, size): # 直接拼接前缀后赋值 sir_beatles[index] = "Sir " + beatles[index] print(sir_beatles[index]) # 打印最终完整数组验证 print(sir_beatles)
更简洁的列表推导式版本
beatles = ["John", "Paul", "Ringo", "George"] # 一行生成目标数组 sir_beatles = [f"Sir {name}" for name in beatles] print(sir_beatles)
两种写法最终输出的sir_beatles数组均为['Sir John', 'Sir Paul', 'Sir Ringo', 'Sir George'],符合需求。
内容的提问来源于stack exchange,提问作者Hannah D
相关产品推荐
相关产品推荐

