【问题标题】:Function to check if dictionary value is occupied检查字典值是否被占用的函数
【发布时间】:2022-01-23 13:55:52
【问题描述】:

我正在尝试创建一个函数来检查添加到字典中的值是否已经存在。 如果一个值已经在字典中,它应该打印“Occupied”而不是将该值添加到现有键中。

我试图让它在新输入相似时不附加,但它仍然添加新输入,即使它与以前相同。

例如,如果我将 input_v 添加为 "Hi" --> XO = {'key': ["Hi"]}

如果我再次输入“Hi”,我希望它说“Occupied”,但现在它仍然添加到字典中。

XO = {'key': []}
def check_values(input_v):

    value = input_v
    print(XO)
    if value in XO.values():
        print("Occupied")
    else:
        XO['key'].append(value)

【问题讨论】:

  • if value in XO['key']…‽

标签: python dictionary if-statement


【解决方案1】:

问题在于您引用“键”值的方式。使用这个:

XO = {'key': []}
def check_values(input_v):
    value = input_v
    global XO
    #print(XO)
    if value in XO['key']:
        print("Occupied")
    else:
        XO['key'].append(value)
    #print(XO)

【讨论】:

  • 是的,我在@deceze 提供的答案中也看到了这一点。非常感谢您的意见。
  • 如果这有帮助,您可以考虑接受它作为答案
【解决方案2】:
d = dict()
for c in a:
    if c not in d:
        d[c] = 1
    else:
        print("Occupied")

这行得通吗? a 在本例中是一个列表。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 2012-12-26
  • 2014-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多