首页 > 解决方案 > 如何在python的字典中将变量传递给get()?

问题描述

我只是想解决以下问题

给你一个约会。你的任务是找出那一天是什么日子。样品输入 : 08 10 2018

我想出了以下解决方案:

days={'0':'monday','1':'tuesday','2':'wed','3':'thurs','4':'friday','5':'sat','6':'sun'}

user_input=datetime.datetime(2018, 11 ,6)

result=user_input.weekday()
print (days.get('result'))

现在它打印 'None' ,我期待它返回键值。

Evenprint(result)返回值1type(result)返回int

我想知道为什么我没有得到预期的输出。必须有一种更 Pythonic 的方式来做到这一点,但我主要关心的get()是行为方式。

标签: pythondictionaryscripting

解决方案


首先,尝试在字典中days.get('result')查找字符串,而不是变量。'result'result

其次user_input.weekday()返回一个整数,但字典中的键是字符串,而不是整数。

这会奏效:

days = {0:'monday', 1:'tuesday', 2:'wed', 3:'thurs', 4:'friday', 5:'sat', 6:'sun'}
user_input = datetime.datetime(2018, 11, 6)
result = user_input.weekday()
print(days.get(result)) # or simply print(days[result])

但是,由于可能的天数范围是数字 0 到 6,所以列表也可以。

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
user_input = datetime.datetime(2018, 11, 6)
result = user_input.weekday()
print(days[result])

推荐阅读