0
正如標題所示,我試圖在字符串內的字典中查找值。這涉及到我的帖子在這裏:Python dictionary - value在字典中搜索字符串的值
我的代碼是一樣的東西如下:
import mechanize
from bs4 import BeautifulSoup
leaveOut = {
'a':'cat',
'b':'dog',
'c':'werewolf',
'd':'vampire',
'e':'nightmare'
}
br = mechanize.Browser()
r = br.open("http://<a_website_containing_a_list_of_movie_titles/")
html = r.read()
soup = BeautifulSoup(html)
table = soup.find_all('table')[0]
for row in table.find_all('tr'):
# Find all table data
for data in row.find_all('td'):
code_handling_the_assignment_of_movie_title_to_var_movieTitle
if any(movieTitle.find(leaveOut[c]) < 1 for c in 'abcde'):
do_this_set_of_instructions
else:
pass
我想跳過if
塊(上面標識爲do_this_set_of_instructions
)下載如果儲存在movieTitle
包含字符串的程序leaveOut
字典中的任何字符串(或值,如果你喜歡的話)。
到目前爲止,我一直沒有運氣與any(movieTitle.find(leaveOut[c]) < 1 for c in 'abcde'):
,因爲它總是返回True,do_this_set_of_instructions始終執行不管。
任何想法?
謝謝,列表選項適用於我。我試圖做一個字典由於我有一個錯誤,所以我認爲字典將是一個解決方法... –
順便說一句,這是否區分大小寫?例如,如果變量「movieTitle」中的子字符串是「cat」,但我在列表中指定了「Cat」,這仍然可以被識別,還是我需要我的列表中的「Cat」和「cat」? –
@I_lost_my_last_account:在生成器中使用'movieTitle.lower()'代替'movieTitle'。 – Blender