修改Python字典中的值

2024-09-26 22:51:03 发布

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

我有一本字典叫《水果篮子》。出于某些原因,篮子看起来像这样。。你知道吗

Basket = {
          Fruit1 : "none"
          Fruit2 : "none"
          Fruit3 : "none"
          Fruit4 : "none"
          Fruit5 : "none"
         }

我想检查一下苹果是否在这本字典里,如果没有,请以水果的形式输入。但是假设篮子已经被打开了,香蕉已经被设置为水果1,那么我希望苹果被设置为水果2,但是如果梨已经在里面了,那么它应该是水果3,以此类推。我的代码是。。。不是最好的,但在这一点上,这是它必须工作的方式,如果它是工作的,那么短的取消什么是已经到位(我希望修改它所有以后)我怎么能使这项工作?你知道吗

此时,剩下的代码只是简单地检查果果1==Apple,如果没有,则继续比较果果2等,如果找到匹配项,则执行操作,但如果篮子中没有苹果,则永远不会添加苹果,篮子中的所有键最初设置为“none”。我把自己弄糊涂了。任何建议,谢谢!你知道吗


Tags: 代码苹果none字典原因篮子basket检查一下
2条回答

以下声明:

'apple' in Basket.values()

如果“apple”是字典中的值之一,则返回True。你知道吗

Basket.values().index('apple')

返回“apple”的索引。如果“apple”不在字典中,则会出现ValueError异常。你知道吗

如果出现ValueError异常,请添加'apple'作为'Fruit1'值;否则,请使用索引设置正确的FruitN值:

index = Basket.values().index('apple')
key, value = Basket.items()[index]
value = 'banana'
Basket[key] = value

注意,上面的代码片段显示了如何用“banana”替换“apple”的现有值;如果“apple”不在字典中,它不会显示异常处理。不过,这应该足以让你动起来。你知道吗

我相信这样的事情会奏效的。但可能有更有效的方法:

Basket = {
          'Fruit1' : "none",
          'Fruit2' : "none",
          'Fruit3' : "none",
          'Fruit4' : "none",
          'Fruit5' : "none"
         }

basketSize = len(Basket)

if 'apple' not in Basket.values():
    print "Couldn't find the apple"

    for i in range(basketSize):
        curItem = "Fruit"+str(i+1)
        if Basket[curItem] == "none":
            Basket[curItem] = "apple"
            break

print Basket

相关问题 更多 >

    热门问题