【发布时间】:2022-11-27 01:48:42
【问题描述】:
我正在阅读 Python Cookbook:“1.17. Extracting a Subset of a Dictionary”。我对下面一段代码示例中的“&”用法感到困惑。谁能帮忙详细说说? prices.keys() & tech_names 在这里如何工作?
谢谢!
-Xiaokuan
prices = {
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
'HPQ': 37.20,
'FB': 10.75
}
tech_names = { 'AAPL', 'IBM', 'HPQ', 'MSFT' }
p2 = { key:prices[key] for key in prices.keys() & tech_names }
【问题讨论】:
-
它不像您期望的那样工作。这对我来说似乎是一个错误。开个解释器评估一下
prices.keys() & tech_names -
@PaulH 我不同意,它创建了一个字典,其中在
prices和tech_names中都找到了密钥——这正是我阅读代码的方式。prices.keys() & tech_names返回{'AAPL', 'HPQ', 'IBM'},再次完全符合预期。
标签: python