如何将 strip 函数与列表中元素的 split 函数结合使用?

How to use strip function in conjunction with the split function for elements in a list?

我正在制作一个程序,用于创建大学列表的字典,以及它们在申请人偏好方面的排名。

这是我创建的:

list1=input("Please write some universities you want to attend, separated by commas, with your first choice first.\n")

list1=list1.strip()
list1=list1.split(",")

ranking=range(1,len(list1)+1)
dictionary_of_colleges={rank:school for rank,school in zip(ranking,list1)}
print(dictionary_of_colleges)

它主要做我打算做的事情。唯一的问题是,当我输入大学列表时,大学名称前面有一个白色的space,我似乎不知道如何去掉那个白色的space。

例如,list1 的输入:

UPenn, Georgia Tech, Texas, Eastern, NW Missouri State

得到这个输出:

{1: 'UPenn', 2: ' Georgia Tech', 3: ' Texas', 4: ' Eastern', 5: ' NW Missouri State'}

虽然我可以只要求用户输入大学的名称 而没有 逗号后的 space,但我希望程序本身能够剥去白色 space。

如您所见,我试过使用 strip 函数,但它似乎不起作用。 请指教。谢谢!

改变

dictionary_of_colleges={rank:school for rank,school in zip(ranking,list1)}

dictionary_of_colleges={rank:school.strip() for rank,school in zip(ranking,list1)}

strip 函数删除字符串开头和结尾的空格。在您的用法中,它会删除整个学校列表的开头和结尾的空格,而不是每个学校的空格。

另请注意,您可以省略 ranking 的创建而只使用 enumerate(list1, 1),如

dictionary_of_colleges={rank:school.strip() for rank,school in enumerate(list1,1)}

enumerate 中的 1 告诉它从索引 1 开始。