現在,我有一個包含許多評級的輸出,并希望在python中只列印出前六名。
import re
import requests
data = requests.get('https://www.imdb.com/chart/').text
titles = re.findall('/title/w*/(?=">)'/span>, data)
評分 = re.findall('d.d.*ratings', data)
評級
我得到的輸出 :
['8.8 based on 716,954 user ratings'/span>,
'8.8,基于1,729,095個用戶評分'。
'8.8 based on 1,937,913 user ratings',
'8.7 based on 1,902,393 user ratings',
'8.7,基于2,167,514個用戶評價'。
'8.7,基于1,544,013個用戶評分'。
'8.7 based on 1,203,819 user ratings',
'8.6 based on 1,753,684 user ratings',
uj5u.com熱心網友回復:
我假設你實際上想獲得user_ratings的最初六個元素。
你可以使用串列切分來做同樣的事情。此外,你還可以使用串列理解和f-strings來在評級之前添加文本:
initial_six = user_ratings[:6]
formatted_text = [f'No.{initial_six.index(i) 1}: {i}' for i in initial_six] 。
print(formatted_text)
uj5u.com熱心網友回復:
user_ratings[0:6]將列印出串列user_ratings
uj5u.com熱心網友回復:
試試這個! 下面的代碼將解決你的問題:
import re
import requests, pprint
data = requests.get('https://www.imdb.com/chart/top').text
titles = re.findall('/title/w*/(?=">)'/span>, data)
rating = re.findall('d.d.*ratings', data)
rating_arr = []
for rate in rating[0:6] 。
rating_arr.append("No. {}: ".format(rating[0:6].index(rate) 1) rate)
pprint.pprint(rating_arr)
輸出結果看起來像:
['No. 1: 9.2 based on 2,460,844 user ratings',
'No.2: 9.1 based on 1,702,157 user ratings',
'第3名:9.0,基于1,182,290個用戶評價'。
'第4名:9.0,基于2,416,183個用戶評價'。
'第5名:8.9分,基于728,548個用戶評價'。
'第6名:8.9分,基于1,265,055個用戶評價']
uj5u.com熱心網友回復:
你可以通過以下方式獲得串列中的前六個專案:
your_list[:6]
EDIt
for i in range(0, len(user_ratings))。
user_ratings[i] = f "No {i 1}: {user_ratings[i]}".
user_ratings[:6]
或者
user_ratings = [f "No {i 1}。{user_ratings[i]}" for i in range(0, len(user_ratings)]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/327351.html
標籤:
