【译】两个字典的交叉匹配教程

232 阅读1分钟

交叉使用两个字典

字典是一个无序的数据集合,其形式为键值对,由大括号内的逗号分隔。字典是由键来索引的。当键已知时,它们通常被优化为检索值。值(定义)被映射到一个特定的键(词)上,与现实世界中的字典类似。

现在我们的任务是 用 两个字典的键来交叉。我们可以通过两种方式实现这一目标

  • 字典的理解
  • &运算符

使用字典理解法。

在我们继续学习这个方法之前,请参考这篇关于字典理解的文章,以便更好地理解。

docs.google.com/document/d/… (将替换为i2tutorials网站的文章链接)

现在,让我们以两个 字典xy为例 , 其键和值如下。

我们现在取一个迭代器 i ,它是 x , 通过运行 for循环 检查 x 中的 i(key) 是否 也 存在于 y 中 。

{ i : x[i] for i in x if i in y }

如果找到了,共同的 和它的 就会被推到一个名为 z 的新字典里面 。

z = { i : x[i] for i in x if i in y }

我们可以看到 ,当我们试图打印z时, 公共键:值对 {'a': 'one'}已经被打印出来

使用&(AND)操作符。

我们现在尝试使用 items() 函数 将两个字典转换成一个列表 ,并使用 &(AND)操作符将 它们联系起来 ,我们将考虑同样的例子,即两个字典 xy

x.items() & y.items()

之后,我们使用 dict() 函数将常见的键值对转换为一个字典,并将它们存储在 z中。

z = dict( x.items() & y.items() )

The postIntersecting two dictionaryappeared first oni2tutorials.