[英]How to get rid of a word in a list of strings
目前我有這樣的清單:
['Rating 3.9577555469954', 'Rating 3.730694980695', 'Rating 4.0717869548437', 'Rating 4.0597014925373', 'Rating 3.7323798994975']
我試圖擺脫“評級”部分。 我如何最終實現我的列表中只有數字/浮點數?
使用regex
替代 jordanm 的答案:
import re
strings = ['Rating 3.9577555469954', 'Rating 3.730694980695', 'Rating 4.0717869548437', 'Rating 4.0597014925373', 'Rating 3.7323798994975']
floats = [float(re.findall('([0-9]+[,.]+[0-9]+)',x)[0]) for x in strings]
print(floats)
輸出:
[3.9577555469954, 3.730694980695, 4.0717869548437, 4.0597014925373, 3.7323798994975]
這將捕獲所有數字,而不管它前面的“評級”或其他單詞。 (例如,如果有Ratings
)
循環遍歷列表並剝離值。 我喜歡使用 UPPER 或 LOWER 來捕獲所有情況。
my_list = ['Rating 3.9577555469954', 'Rating 3.730694980695',
'Rating 4.0717869548437', 'Rating 4.0597014925373', 'Rating 3.7323798994975']
new_list = []
for value in my_list:
new_list.append(value.upper().strip('RATING').strip())
print(new_list)
結果:
['3.9577555469954', '3.730694980695', '4.0717869548437', '4.0597014925373', '3.7323798994975']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.