嘗試創建一個函式以從大學資料串列中過濾掉“大學”,以便按字母順序對它們進行排序。這是我到目前為止的代碼:
def filter_list(uni):
for u in uni:
for n in u:
if n.startswith('University of the '):
n = n[18:] ' University'
elif n.startswith('University of '):
n = n[14:] ' University'
return uni
預期輸出:
('白金漢郡新大學', '78%', '39%', '82%', '0%', '0%', '52%'), ('米德爾塞克斯大學', '82%', ' 48%', '80%', '57%', '75%', '54%'), ('倫敦大學城', '83%', '51%', '77%', ' 69%', '63%', '59%'), ('倫敦大學金史密斯學院', '85%', '54%', '77%', '70%', '100%', ' 61%'), ('貝德福德大學', '81%', '42%', '77%', '58%', '57%', '61%'), ('博爾頓大學', '81 %'、'48%'、'85%'、'0%'、'0%'、'63%')...
電流輸出:
('白金漢郡新大學', '78%', '39%', '82%', '0%', '0%', '52%'), ('米德爾塞克斯大學', '82%', ' 48%', '80%', '57%', '75%', '54%'), ('倫敦大學城', '83%', '51%', '77%', ' 69%', '63%', '59%'), ('倫敦大學金史密斯學院', '85%', '54%', '77%', '70%', '100%', ' 61%'), ('貝德福德大學', '81%', '42%', '77%', '58%', '57%', '61%'), ('博爾頓大學', “81%”、“48%”、“85%”、“0%”、“0%”、“63%”)...
更改字串名稱的代碼有效,只需修改串列中的實際字串即可。有人知道怎么做嗎?
uj5u.com熱心網友回復:
您將您的價值分配給n
,但您永遠不會再使用n
。更改n
不會更改串列中元組中的值。
相反,您可以創建一個新串列并將每所大學附加到該串列中,并使用包含每所大學的過濾值的新串列。我還冒昧地使用了更具描述性的變數名稱。
def filter_university_list(universities):
filtered_universities = []
for university in universities:
current_university = []
for field in university:
if field.startswith('University of the '):
field = field[18:] ' University'
elif field.startswith('University of '):
field = field[14:] ' University'
current_university.append(field)
filtered_universities.append(current_university)
return filtered_universities
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470896.html