使用字典将一系列数字分配给单个键

Assign a Range of Numbers to a Single Key with Dictionaries

我正在研究字典,但遇到了一个问题。问题是,我希望能够使用 1 个以上的数字来引用字典中的键。

例如,我想将1到5之间的数字范围全部分配给,比方说,"apple"。所以我想到了这个:

my_dict['apple'] = range(1,5)

在程序的当前状态下,它远不能 运行,因此测试是一个问题,但我的编辑没有收到任何问题。我只是想知道,这是解决这个问题的正确方法吗?或者有更好的方法吗?

谢谢。

编辑:

更多信息:我想用 randint 函数生成一个随机整数。然后,在 Python 生成该数字后,我想用它来调用分配给随机整数值的键。事情是,我想让一些东西比其他东西更常见,所以我想让我可以用更大的数字范围来调用它,这样出现密钥的可能性就更大了。对不起,如果它没有多大意义,但在目前的状态下,我什至没有代码来展示我想要完成的事情。

字典中的值可以是任意任意对象。使用给定类型或结构作为值是否有意义仅在完整脚本的上下文中才有意义,因此无法根据给定信息告诉您它是否是正确的解决方案。

你把字典弄反了。如果您希望能够回忆起,例如 'apple' 与任何数字 1-5,您需要数字是 keys,而不是 .

for i in range(1,6):  # range(a,b) gives [a,b)
    my_dict[i] = 'apple'

等然后,my_dict[4] == 'apple' 范围内的其他值也是如此。

这可以创建非常大的字典,其中包含许多相同值的副本。

或者,您 可以 使用 range 对象作为字典键,但除非您创建自己的 class,否则测试会更麻烦一些。

my_dict[range(1,6)] = 'apple'
n = random.randint(1, 5)

for key in my_dict:
    if n in key:
        print(my_dict[key])

...打印 apple.