prices = {
'AAPL': 191.88,
'GOOG': 1186.96,
'IBM': 149.24,
'ORCL': 48.44,
'ACN': 166.89,
'FB': 208.09,
'SYMC': 21.29
}
# 用股票价格大于100元的股票构造一个新的字典
prices2 = {key: value for key, value in prices.items() if value > 100}
print(prices2)
下面主要针对推导式这句代码解释一下:
字典推导式的语法是 {key: value for key, value in iterable if condition},其中 key 和 value 是根据迭代过程中得到的键值对的键和值,iterable 是一个可迭代对象,condition 是一个条件表达式。这个语法是用来构建一个新的字典,其中包含满足条件的键值对。
prices.items() 返回了一个迭代器,该迭代器包含了 prices 字典中的键值对。
for key, value in prices.items() 这部分是一个迭代过程,它遍历了 prices 字典中的每一个键值对。在每次迭代中,key 变量被赋值为当前键,value 变量被赋值为当前值。
if value > 100 是一个条件,它检查当前值是否大于 100。如果满足条件,就会执行 {key: value} 这部分代码。
{key: value} 这部分代码构建了一个新的字典,其中键为当前迭代到的键,值为当前迭代到的值。这个键值对被添加到最终的字典中。
最终,字典推导式会返回一个新的字典,其中包含了满足条件的键值对。
因此,这段代码的作用是遍历 prices 字典中的每一个键值对,如果值大于 100,则将这个键值对添加到新字典 prices2 中。