gpt4 book ai didi

python - 具有多个键映射到相同值的字典

转载 作者:行者123 更新时间:2023-12-04 13:23:45 25 4
gpt4 key购买 nike

我需要将整数值和索引放入相应字符串的表中。在这种情况下,连续范围的整数应该都映射到同一个字符串。类似的东西(使用非工作字典示例):

int_dict = { 0              : "String1",
1 : "String2",
2 : "String3",
range(3,15) : "String4",
16 : "String5" };

正如预期的那样,使用 range这里只是失败,尝试使用列表会出现错误 TypeError: unhashable type: 'list' .

也许字典不是这项任务的最佳数据结构。那么,我的问题是,如何轻松完成这样的事情?范围往往非常大,因此通过手动定义(除非可以使用类似 range 之类的内容)进行此操作不是一种选择。

最佳答案

这是您想要达到的目标吗?

int_dict = { 0              : "String1",
1 : "String2",
2 : "String3",
16 : "String5" };
#range is first inclusive last exlusif, watch out for that
for i in range(3,15) :
int_dict[i] = "String4"

输出 :
{0: 'String1',
1: 'String2',
2: 'String3',
3: 'String4',
4: 'String4',
5: 'String4',
6: 'String4',
7: 'String4',
8: 'String4',
9: 'String4',
10: 'String4',
11: 'String4',
12: 'String4',
13: 'String4',
14: 'String4',
16: 'String5'}

编辑:您也可以使用元组作为键
int_dict = { (0,0)              : "String1",
(1,1) : "String2",
(2,2) : "String3",
(3,15) :"String4",
(16,16) : "String5"};

def ValueInDict(value):
for i,j in int_dict.items():
if value >= i[0]:
if value <= i[1]:
print(j)
return
print("NOT THERE")

ValueInDict(5)

输出:
 String4

关于python - 具有多个键映射到相同值的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44566333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com