使用字符串格式化从字典中提取数据

2024-10-02 08:27:58 发布

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

如何使用字符串格式从字典中调用信息?你知道吗

以下是我迄今为止所做的尝试(可能相当糟糕……)

value = raw_input("Indicate a number: ")
print number_stats["chm%"] % (value,)

字典编号\u stats保存有关值“chm1”、“chm2”等的信息

我得到一个键错误,这使我困惑,因为chm1项肯定存储在我的字典中。你知道吗

有没有更好的办法?你知道吗


Tags: 字符串信息numberinputraw字典value格式
3条回答

像这样使用。必须在方括号内使用字符串格式

>>> number_stats={'a1': 1}
>>>
>>> print number_stats['a%s' % 1]
1
>>>
print number_stats["chm%s" % (value)]

应该有用。你知道吗

但你应该这样做:

print number_stats.get("chm%s" % (value), "some_default_value")

以避免在用户输入无效密钥时崩溃。有关get方法的更多信息,请参见this。你知道吗

当您执行number_stats["chm%"] % (value,)时,您首先执行number_stats["chm%"],然后对结果应用% (value,)。您希望将%直接应用于字符串:

number_stats["chm%s" % (value,)]

请注意,您需要%s%本身不是有效的字符串替换。你知道吗

不过,可能还有更好的方法。为什么你的字典有"chm1""chm2"这样的键,而不仅仅是数字本身(即有键1和键2)?然后你就可以做number_stats[value]。(或者如果你从raw_inputvalue,你需要number_stats[int(value)]

相关问题 更多 >

    热门问题