Python 返回在函数参数中输入的键列表的词汇表

Python 返回在函数参数中输入的键列表的词汇表,python,loops,dictionary,Python,Loops,Dictionary,这是一个我的字典样本,有三个键 ({'Musique': [['Musique', 'Shawn Phillips', 236, 236], ['Musique', "L'avenue Royale fête l'été!", 237, 237], ['Musique', 'Perséides musicales', 215, 215], ['Musique', 'Gaétan Leclerc chante Félix et…', 229, 229], ['Musique', 'The Ring

这是一个我的字典样本,有三个键

({'Musique': [['Musique', 'Shawn Phillips', 236, 236], ['Musique', "L'avenue Royale fête l'été!", 237, 237], ['Musique', 'Perséides musicales', 215, 215], ['Musique', 'Gaétan Leclerc chante Félix et…', 229, 229], ['Musique', 'The Ring of Fire : a Johnny Cash Experience', 202, 202], ['Musique', "Jazz'Art", 208, 210],  {'Théatre': [['Théâtre', 'Coup de théâtre à la joyeuse maison hantée', 189, 189], ['Théâtre', 'Les galoches du bonheur', 203, 203], ['Théâtre', 'Le voyage de Pixelle dans le monde virtuel', 217, 217], ['Théâtre', 'Marimba à la ferme de la bonne entente', 224, 224], ['Théâtre', 'Pattes et cravates', 196, 196], {'Danse': [['Danse', 'Initiation au tango argentin suivi de la milonga', 182, 231], ['Danse', 'Samedi de danser...', 188, 188], ['Danse', 'Rusdell Nunez (latino)', 191, 191]
关键是:‘音乐’、‘音乐’和‘舞蹈’

这是事件子列表的列表,我的字典中的所有int都是在这些事件可用时出现的。我需要返回一个列表,其中包含在参数day_year中输入的日期提供的所有类型正确的事件的名称

以下是完整的说明和功能:

def obtain_events_date_type(dictio_events_par_type, day_year, type_event): #first argument in the dictionnary so dont rly worry about it.
然后,对于作为参数类型\事件的正确类型的每个事件,如果事件的开始(即词汇表中的第一个int)低于或甚至高于int,并且如果事件的结束(即每个索引的最后一个in)高于或甚至高于参数日期\年,我们可以将此事件的名称添加到事件列表中,因为它在当天可用。我需要返回事件列表

所以如果我进去

def obtain_events_date_type(creer_dictio, 236, 'Musique'):    
     #creer_dictio is my dictio in another function
我需要添加236天的所有事件,例如本文中提到的我的词汇表中的第一个值。同一天可能有1个以上的活动。如果在参数中输入的当天没有可用的事件,我们将返回一个空列表

我试过什么:

实际上我对python中的循环和其他东西很熟悉,但我不断发现关于元组的代码错误,以及一些在字典上不允许的操作

有人告诉我,我可以为每种类型创建一个列表,但我仍然有时间访问参数中的每个事件和int

谢谢你的信息/提示

编辑:

错误:

TypeError: '<=' not supported between instances of 'int' and 'str'

您可以这样使用列表理解:

def obtain_events_date_type(dictio_events_par_type, day_year, type_event):
    return [n for t in dictio_events_par_type for k, l in t.items() if k == type_event for _, n, s, e in l if s <= day_year <= e]
将输出:

['Initiation au tango argentin suivi de la milonga', 'Samedi de danser...']

你能把你实际尝试过的包括错误的东西包括进去吗?所以不是代码编写服务。@n8sty edited,我也得到TypeError:元组索引必须是整数,而不是强制的,jour_annee和jour[2]中的一个是字符串,另一个是数字,不能将字符串与数字进行比较。找出哪一个是哪一个,并将字符串转换为数字。@DYZ好的,但我需要知道如何才能达到一个单词NaryTanks的索引,可能就是这样。如果我还需要什么,或者如果我对返回有任何疑问,我会告诉你,以便我理解,谢谢!
events = [
    {
        'Musique': [
            ['Musique', 'Shawn Phillips', 236, 236],
            ['Musique', "L'avenue Royale fête l'été!", 237, 237],
            ['Musique', 'Perséides musicales', 215, 215],
            ['Musique', 'Gaétan Leclerc chante Félix et…', 229, 229],
            ['Musique', 'The Ring of Fire : a Johnny Cash Experience', 202, 202],
            ['Musique', "Jazz'Art", 208, 210]
        ]
    },
    {
        'Théâtre': [
            ['Théâtre', 'Coup de théâtre à la joyeuse maison hantée', 189, 189],
            ['Théâtre', 'Les galoches du bonheur', 203, 203],
            ['Théâtre', 'Le voyage de Pixelle dans le monde virtuel', 217, 217],
            ['Théâtre', 'Marimba à la ferme de la bonne entente', 224, 224],
            ['Théâtre', 'Pattes et cravates', 196, 196]
        ]
    },
    {
        'Danse': [
            ['Danse', 'Initiation au tango argentin suivi de la milonga', 182, 231],
            ['Danse', 'Samedi de danser...', 188, 188],
            ['Danse', 'Rusdell Nunez (latino)', 191, 191]
        ]
    }
]
print(obtain_events_date_type(events, 188, 'Danse'))
['Initiation au tango argentin suivi de la milonga', 'Samedi de danser...']