Python 中列表的字典,基于列表的长度

Dictionary from List in Python based on length of list

我在 python

中有以下列表
 days = ['Saturday', 'Monday', 'Thursday', 'Friday', 'Tuesday', 'Sunday', 
        'Wednesday']

我要创建以下字典

dayweek = {'Saturday': 1, 'Monday': 2, 'Thursday': 3, 'Friday': 4, 'Tuesday': 
5, 'Sunday': 6, 'Wednesday': 7}

我试过下面的代码

     dayweek=dict(enumerate(days))

这会产生以下结果

  {0: 'Saturday', 1: 'Monday', 2: 'Thursday', 3: 'Friday', 4: 'Tuesday', 5: 
  'Sunday', 6: 'Wednesday'}

我如何完成同样的事情

我请求某人帮助我

只需使用字典理解:

>>> m={d:i+1 for i,d in enumerate(days)}
>>> m
{'Saturday': 1, 'Monday': 2, 'Thursday': 3, 'Friday': 4, 'Tuesday': 5, 'Sunday': 6, 'Wednesday': 7}

试试这个:

dict(zip(days, range(1, len(days)+1)))

输出:

{'Monday': 2, 'Tuesday': 5, 'Friday': 4, 'Wednesday': 7, 'Thursday': 3, 'Sunday': 6, 'Saturday': 1}

您可以给 enumerate 一个起始值 1 并使用字典理解:

days = ['Saturday', 'Monday', 'Thursday', 'Friday', 'Tuesday', 'Sunday', 
        'Wednesday']

dayweek = { day:index for index, day in enumerate(days, 1)}
print(dayweek)

# {'Saturday': 1, 'Monday': 2, 'Thursday': 3, 'Friday': 4, 'Tuesday': 5, 'Sunday': 6, 'Wednesday': 7}

看看这个:

dict([(j, i) for i, j in enumerate(days, 1)])