如何根据特定元素的存在来切片 python 字典

How to slice python dictionary, based on existence of specific element

我有这样的字典:

mydictionary = {0: header,
1: thumbnail, 
2: paragraph, 
3: header, 
4: thumbnail,
5: thumbnail, 
6: paragraph, 
7: paragraph}

我正在遍历字典,如果我找到一个段落,我想找到所有以前的缩略图,但只能找到上一段。

for x in mydictionary:
   if paragraph in mydictionary:
      find all the previous thumbnails up to previous paragraph

换句话说,在第 2 段,return 项目 1

在第 6 段中,return 项目 4 和 5

在第 7 段中,return不会编辑任何内容

你可以这样做:

mydictionary = {0: "header",
                1: "thumbnail", 
                2: "paragraph", 
                3: "header", 
                4: "thumbnail",
                5: "thumbnail", 
                6: "paragraph", 
                7: "paragraph"}

prev_thumbnails = []
for key, value in mydictionary.items():
    if value == "thumbnail":
        prev_thumbnails.append(key)
    elif value == "paragraph":
        print(prev_thumbnails)
        prev_thumbnails = []
#returns
#[1]
#[4, 5]
#[]