首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我不能在字典中有相似的名字,我可以采取什么方法?

如果我不能在字典中有相似的名字,我可以采取什么方法?
EN

Stack Overflow用户
提问于 2012-02-07 00:45:41
回答 3查看 76关注 0票数 0

我还没有太多的软件设计经验,所以我不确定程序员通常是如何解决这类问题的。我基本上是在创建一些值,并将它们存储在字典中,但名称并不唯一。我知道在字典中存储相同的键名是不可能的,但是软件工程师如何解决这个问题(我确信我不是第一个面对这个问题的人)?

我认为一些代码会更容易理解(两个列表,一个是动物和水果,然后在两者之间生成一个随机值。我正在尝试找出如何存储这些数据,以便以后使用它):

代码语言:javascript
运行
复制
lista = ['dog', 'cat', 'elephant', 'pig', 'bear']
listb = ['apple', 'pear']

dict_of_lists_values = {}
for list_a in lista:
    for list_b in listb:
        #print list_a, list_b
        #print lista.index(list_a), listb.index(list_b), lista.index(list_a) *  listb.index(list_b)
        dict_of_lists_values[list_a] = [lista.index(list_a) *  listb.index(list_b), list_b]

for lists_data in dict_of_lists_values:
    print lists_data, ' holds ', dict_of_lists_values[lists_data]

您看到的最终结果是:

代码语言:javascript
运行
复制
elephant  holds  [2, 'pear']
pig  holds  [3, 'pear']
dog  holds  [0, 'pear']
bear  holds  [4, 'pear']
cat  holds  [1, 'pear']

这是完全有意义的,因为它覆盖了之前的结果(列表中将包含苹果,而不是梨)。如果我想存储所有10个结果而不仅仅是唯一的5个结果,我如何重新设计它?

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-07 00:57:02

您可以使用组合键。例如,您可以使用每个列表中元素的元组作为键,因此您将拥有:

代码语言:javascript
运行
复制
dict_of_lists_values[(list_a, list_b)] = lista.index(list_a) *  listb.index(list_b)

然后得到相同的输出:

代码语言:javascript
运行
复制
for lists_data in dict_of_lists_values:
    print lists_data[0], ' holds ', dict_of_lists_values[lists_data], lists_data[1]
票数 1
EN

Stack Overflow用户

发布于 2012-02-07 00:48:00

如果相同的名字意味着识别不同的东西,那么肯定有其他方法来区分这三种不同的猪:使用它作为你的钥匙。

票数 1
EN

Stack Overflow用户

发布于 2012-02-07 01:20:50

看起来你正在尝试为每种动物建立一种库存模型,对吧?不是直接分配一个配对计数,水果作为值,而是用一个空字典初始化每个动物,并将每个动物的库存存储在那里:

代码语言:javascript
运行
复制
bigdict = { }  # was: dict_of_lists_values
for a in lista:
    bigdict[a] = { }

for a in lista:
    for b in listb:
        lista[a][b] = lista.index(a) *  listb.index(b) # or whatever
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9163744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档