我正在做一个程序,可以统计一支乐队在所有曲目的网页上播放一首歌曲的次数。我抓取了网页,并将所有播放的歌曲转换成一个大列表,所以我想做的就是看看歌曲名称是否在列表中,并添加到一个计数器中,但它不起作用,我似乎找不出原因。
我尝试使用count函数,但不起作用
sugaree_counter = 0
link = 'https://www.cs.cmu.edu/~mleone/gdead/dead-sets/' + year + '/' + month+ '-' + day + '-' + year + '.txt'
page = requests.get(link)
page_text = page.text
page_list = [page_text.split('\n')]
print(page_list)
此代码返回列表:
[['Winterland Arena, San Francisco, CA (1/2/72)', '', "Truckin'", 'Sugaree',
'Mr. Charlie', 'Beat it on Down the Line', 'Loser', 'Jack Straw',
'Chinatown Shuffle', 'Your Love At Home', 'Tennessee Jed', 'El Paso',
'You Win Again', 'Big Railroad Blues', 'Mexicali Blues',
'Playing in the Band', 'Next Time You See Me', 'Brown Eyed Women',
'Casey Jones', '', "Good Lovin'", 'China Cat Sunflower', 'I Know You Rider',
"Good Lovin'", 'Ramble On Rose', 'Sugar Magnolia', 'Not Fade Away',
"Goin' Down the Road Feeling Bad", 'Not Fade Away', '',
'One More Saturday Night', '', '']]
但当我这么做的时候:
sugaree_counter = int(sugaree_counter)
if 'Sugaree' in page_list:
sugaree_counter += 1
print(str(sugaree_counter))
它将始终为零。
它应该加1,因为'Sugaree‘在列表中
发布于 2019-04-28 08:48:51
您的page_list是一个列表列表,因此您需要两个for循环来获取页面,您需要这样做
for page in page_list:
for item in page:
sugaree_counter += 1
发布于 2019-04-28 08:54:25
使用sum()
和list表达式:
sugaree_counter = sum([page.count('Sugaree') for page in page_list])
https://stackoverflow.com/questions/55886080
复制相似问题