【问题标题】:Appending "Sir" to list of names? PYTHON将“先生”附加到姓名列表中? PYTHON
【发布时间】:2021-12-29 20:55:34
【问题描述】:

我已经完成了前半部分的任务,但正在为后半部分苦苦挣扎:

"创建第二个名为sir_beatles的空数组。编写伪代码和python代码将beatles数组的内容复制到sir_beatles数组中,并在每个名称的开头附加Sir,因此新数组包含Sir John,Sir保罗、林戈爵士、乔治爵士。”

我的代码

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] = beatles[index]
    print(sir_beatles[index])

所以它正在打印两个列表,但我完全不知道如何将 Sir 添加到每个索引中。我试过了

sir_beatles[index].append("Sir")

但我得到错误代码 AttributeError: 'str' object has no attribute 'append' 我也尝试了 .insert() 并且有同样的错误。

有什么建议吗?

【问题讨论】:

    标签: python list append


    【解决方案1】:

    您可以将列表推导与 f-string 一起使用:

    beatles = ["John", "Paul", "Ringo", "George"]
    sir_beatles = [f"Sir {member}" for member in beatles]
    
    print(sir_beatles) # ['Sir John', 'Sir Paul', 'Sir Ringo', 'Sir George']
    

    如果出于某种原因,您想要一个显式的 for 循环,那么

    sir_beatles = []
    for member in beatles:
        sir_beatles.append(f"Sir {member}")
    

    是一个等效的实现。

    【讨论】:

    • 花了我一秒钟的时间来了解如何将它实施到我的程序中,但是很有效,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2021-10-31
    相关资源
    最近更新 更多