这个问题在这里已有答案:
我在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'}
我如何做到这一点
我请求有人帮助我
看一下这个:
dict([(j, i) for i, j in enumerate(days, 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}
只需使用字典理解:
>>> 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}