从具有特定键元素的字典中获取所有值

Getting all values from dictionary with specific key element

我在 Python 中有一本字典,其中包含 4 个键元素(2 个字符串,2 个整数)和一个数值。如何 return 具有键的一个元素的特定值的键值对?例如,如果我的字典是 newdict:

newdict = {('1', '14', 3, 1): 3.469446951953614e-18,
     ('1', '14', 11, 1): 1.1102230246251565e-15,
     ('1', '17', 2, 1): 171.3624841,
     ('1', '21', 5, 1): -1.6764367671839864e-14,
     ('1', '21', 11, 1): 5.551115123125783e-17,
     ('1', '23', 8, 1): -4.163336342344337e-15,
     ('1', '24', 9, 1): -8.36136715420821e-15,
     ('1', '25', 5, 1): 0.0221293,
     ('1', '25', 9, 1): 0.0327717}

我如何 return 只有第三个元素为 5 的键值对,例如:

{('1', '21', 5, 1): -1.6764367671839864e-14,
    ('1', '25', 5, 1): 0.0221293}

你可以使用字典理解:

{key: value for key, value in newdict.items() if key[2] == 5}

这输出:

{('1', '21', 5, 1): -1.6764367671839864e-14, ('1', '25', 5, 1): 0.0221293}

How do I return key-value pairs that have a specific value for one element of the key?

  • 编写一个接受位置、值和项目参数的函数
    • 测试项目的部分的位置和值
    • return test/comparison
    • 的布尔值
  • 使用该函数过滤字典项目。