基于lis长度的Python列表词典

2024-06-02 07:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的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'}

我怎样才能做到这一点

我请求某人帮助我


Tags: 代码列表daysdict词典mondaysundayfriday
3条回答

您可以将起始值1指定给enumerate,并使用字典理解:

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}

使用字典理解:

>>> 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([(j, i) for i, j in enumerate(days, 1)])

相关问题 更多 >