【问题标题】:Check if python dict value exists检查python dict值是否存在
【发布时间】:2021-01-10 18:11:26
【问题描述】:

所以我是 dicts 的新手,我正在尝试在 json 字典中查找和保存用户名,但我不断发现用户名不在字典中,我尝试了一些在这里找到的解决方案,但似乎没有上班,是不是我的字典有问题?

        username = input("Write your username: ")

            user_data['users'].append({
                'name': f'{username}',
                'highscore': '0',
                'table': ['-', '-', '-', '-', '-', '-', '-', '-', '-'],
                'turn': '1'
            })
            with open('user_data.json', 'w') as file:
                json.dump(user_data, file, indent=4)

试过这个和一些类似的

"name" in user_data.values()

【问题讨论】:

  • 你的意思是dict value还是dict key?
  • 为什么要使用列表?作为 user_data['users'] 的值?
  • @Dieter 所以我可以将数据附加到它
  • @mkrieger 在发布之前已经看到了那个,但它不起作用

标签: python json dictionary key-value-store


【解决方案1】:

您需要在列表中与字典user_data 的键users 对应的每个字典中查找name 键(那是一口)。

any('name_to_search_for' == user['name'] for user in user_data['users'])

【讨论】:

  • 这可能符合 OP 要求 的要求,但不是他们的意思
  • @DeepSpace 我编辑了答案。 name 确实模棱两可。
  • 那不只是返回密钥吗?
  • @JoãoBrito 不,这将返回您的用户名是否存在于列表中的某个字典中。自己试试吧!如果您想要与该用户名对应的整个字典,那么我也可以编辑该用户名的代码。
  • @kwkt 似乎有效!非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-22
  • 2016-11-05
  • 2015-11-24
  • 2012-03-10
相关资源
最近更新 更多