为了账号安全,请及时绑定邮箱和手机立即绑定

比较列表中的值以创建字典?

比较列表中的值以创建字典?

SMILET 2021-05-02 15:16:22
我试图根据if条件将列表追加到字典中。我为此问题编写了一个工作函数,但我想以列表理解的形式编写该程序。以下功能按月组织所有曲目。结果将是一个字典,以月为键,音轨为值。[[j for j in lst2] for i in month if j[-2] == i] #I tried this list comprehension code for my function given below列名称[位置,曲目名称,艺术家,流,Datetime.object,区域,月份,日期] Input : #my working code[['1','Starboy','The Weeknd','3135625',datetime.datetime(2017, 1, 1, 0, 0),  'global',1,1], ['2','Closer','The Chainsmokers','3015525',datetime.datetime(2017, 1, 1, 0, 0),  'global',1,1] ['3','Party Monster','The Weeknd','829599',datetime.datetime(2017, 2, 2, 0, 0),'  global',2,2]]def organized(lst2):    month = [1,2]    edict = {}    for i in month:        elst = []        for j in lst2:            if j[-2] == i:                elst.append(j)        edict[i] = elst    return edictoutput{1: [['1', 'Starboy', 'The Weeknd', '3135625',        datetime.datetime(2017, 1, 1, 0, 0),'global', 1, 1],     ['2', 'Closer', 'The Chainsmokers', '3015525',                                datetime.datetime(2017, 1, 1, 0, 0), 'global', 1, 1]] 2:[[‘3’, 'Party Monster', 'The Weeknd', '829599',        datetime.datetime(2017, 2, 2, 0, 0), 'global', 2, 2]]}
查看完整描述

1 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

您的输出是dict,因此您需要一个dict理解(list嵌套在其中的理解):


def organized(lst2):

    month = [1, 2]

    return {i: [j for j in lst2 if j[-2] == i] for i in month}


查看完整回答
反对 回复 2021-05-11
  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号