【问题标题】:how to check every dictionary is perfect in list , python如何检查每个字典在列表中是否完美,python
【发布时间】:2022-11-24 14:59:41
【问题描述】:

我有一个数据集如下


tmp_dict = {
'a': ?,
'b': ?,
'c': ?,
}


我有一个数据是一个字典列表,比如

tmp_list = [tmp_dict1, tmp_dict2, tmp_dict3....]


而且我发现有些词典没有完美地包含关于“a”、“b”、“c”的键。

如何检查并填写密钥不存在

【问题讨论】:

  • 你所说的完美是什么意思?你是说所有的键都不应该有 None 吗?问号代表什么?
  • if set(tmp_dict) == {'a', 'b', 'c'}:
  • @AhmedSayed 我认为他的意思是字典具有所有 3 个必需的键。

标签: python list dictionary fill


【解决方案1】:

你可以尝试这样的事情:

dict_keys = ['a','b','c']

tmp_dict1 = {'a':[1,2,3], 'b':[4,5,6]}
tmp_dict2 = {'a':[7,8,9], 'b':[10,11,12], 'c':[13,14,15]}
tmp_dict3 = {'a':[16,17,18], 'c':[19,20,21]}

tmp_list = [tmp_dict1, tmp_dict2, tmp_dict3]

for i, dct in enumerate(tmp_list):
    for k in dict_keys:
        if dct.get(k) == None:
            print(f"tmp_dict{i+1} is missing key:", k)

输出:

tmp_dict1 is missing key: c
tmp_dict3 is missing key: b

【讨论】:

    【解决方案2】:

    您可以将字典中的键与包含所有预期键的集合进行比较。

    for d in tmp_list:
        if set(d) != {'a', 'b', 'c'}:
            print(d)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 2018-04-10
      • 2014-10-06
      • 1970-01-01
      • 2020-11-03
      • 2017-09-28
      • 1970-01-01
      相关资源
      最近更新 更多