如何在Python中引用字典的特定部分

时间:2019-12-01 03:42:45

标签: python dictionary rotten-tomatoes

好吧,所以我试图创建一个简单的东西,告诉我在剧院看电影的时间,电影的名称以及Python中的烂番茄得分,但是我很难弄清楚如何获得meterScore。

actorCount = 0
actors = []
criticCount = 0
critics = []
franchiseCount = 0
franchises = []
movieCount = 3
movies = [{'name': 'Frozen II', 'year': 2019, 'url': '/m/frozen_ii', 'image': 'https://resizing.flixster.com/QZg2MuPQoRlWcWYAwufbQBlv-I0=/fit-in/80x80/v1.bTsxMzIwMzIxODtqOzE4Mjg3OzEyMDA7NTQwOzgxMA', 'meterClass': 'certified_fresh', 'meterScore': 76, 'castItems': [{'name': 'Kristen Bell', 'url': '/celebrity/kristin_bell'}, {'name': 'Idina Menzel', 'url': '/celebrity/idina_menzel'}, {'name': 'Josh Gad', 'url': '/celebrity/josh_gad'}], 'subline': 'Kristen Bell, Idina Menzel, Josh Gad, '}]
tvCount = 0
tvSeries = []

我试图从该数据列表中获得的是meterScore,如果您向右滚动到足够远的距离,您就可以看到它。所有这些数据都是一个更大的字典的一部分,我将其命名为resultOne,但我认为这并不重要。我只需要一些帮助来弄清楚如何从字典中引用和获取meterScore,以便将其打印出来,所以当我想查看获得哪些电影和评级时,我可以运行此程序并将其用于我。我并没有真正使用字典,但是我用来获取Rotten Tomato数据的库会创建字典,因为它很难引用字典,因此对您有所帮助!我没有得到的是,如果我尝试打印(resultOne.movi​​es),它说那不是属性或可能影响的内容,即使我将其放入可以打印出键和值的内容时,例如正如我为获取上面的代码所做的那样,它清楚地表明了它是关键。我也尝试打印(resultOne.movi​​es [meterScore]),但这也不起作用。

4 个答案:

答案 0 :(得分:2)

使用[]而不是.通过键查找字典值。

现在,诀窍在于,movies键指向一个列表。因此,您需要混合使用[]的两种索引:字典索引(通过键)和列表索引(通过0开始)。

最终,您要这样做:

score = resultOne['movies'][0]['meterScore']
                  ^         ^           ^    
                  |         |           |
     lookup in outer dict   |           |
                   first item in list   |
                                      lookup in inner dict

答案 1 :(得分:1)

尝试一下:

cout << (pilot*)staffList.at(i)->getHours() << endl;

答案 2 :(得分:1)

在该代码段中,import bs4, requests song = input('Input artist then song name\n') website = requests.get(f'https://genius.com/{song.replace(" ", "-")}-lyrics') websiteParser = bs4.BeautifulSoup(website.text, 'html.parser') lyricSelect = websiteParser.select('.lyrics') lyrics = lyricSelect[0].text.strip() print(lyrics) 是包含字典的列表。因此,对列表进行索引,然后对字典进行索引:

movies

如果movies[0]['meterScore'] 可能包含一项以上(或零项),请对其进行迭代,以获取movies s的列表:

meterScore

答案 3 :(得分:1)

为什么不尝试这样的操作从字典中的所有电影中提取每个meterScore:

<form action="/sugggest-list" method="post" id="form" name="form">
  <textarea id="msg" name="user_message" rows="20" cols="100">Input feedback here</textarea>
<div class="button">
  <button type="submit">Enter</button>
</div>
</form>