我在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'}
我该如何完成
我请求某人帮助我
答案 0 :(得分:3)
您可以将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}
答案 1 :(得分:2)
只需使用字典理解即可:
>>> 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}
答案 2 :(得分:2)
尝试一下:
dict(zip(days, range(1, len(days)+1)))
输出:
{'Monday': 2, 'Tuesday': 5, 'Friday': 4, 'Wednesday': 7, 'Thursday': 3, 'Sunday': 6, 'Saturday': 1}
答案 3 :(得分:0)
检查一下:
dict([(j, i) for i, j in enumerate(days, 1)])