Skip to main content
 首页 » 编程设计

Python 3.3 列表帮助

2025年05月04日16bjzhanghao

我正在尝试编写一个基本上会要求用户输入 5 个姓名的代码。然后它将创建这些名称的列表,并将它们打印出来。随后,它打印列表的排序版本。接下来,代码将打印列表中的第三个名字。在此步骤之后,代码询问用户要更改哪些名称,然后用户为他们选择替换的名称输入一个新名称。

这应该是输出,例如:

名称是:“Sal”、“Jane”、“Fred”、“Bob”、“Cole”

排序后的名字是:“Bob”、“Cole”、“Fred”、“Jane”、“Sal”

列表中的第三个名字是:“Fred”(这将是排序列表中的第三个名字)

名称是:“Bob”、“Joe”、“Fred”、“Jane”、“Sal”(假设用户选择替换第二个名字。

到目前为止,这是我的代码:

name_list = input ("Please list 5 names here:") 
name_list = name_list.split() 
name_list = [name_list] 
print ("The names in your list are:", name_list) 
print ("The sorted list is:", name_list) 
print(name_list[2:3]) 

我遇到的问题有一个,我无法弄清楚为什么排序列表没有正确“排序”,其次,最后一行应该打印出第三个名字,但打印出 [] 代替。

请您参考如下方法:

首先,在打印出排序列表之前,您没有对列表进行排序,您应该调用 name_list.sort()在打印排序列表之前。

其次,name_list[<start>:<end>]打印出从 <start> 开始的列表index ,结束于 <end> - 1 index ,因此您将获得 name_list[2:3] 的空列表.你应该做 name_list[2]相反。