尝试使用Lambda函数时出现语法错误

时间:2020-08-05 22:06:48

标签: python lambda

我试图编写一个lambda并从字典中提取值,但是它返回语法错误。我不知道什么时候出了错,请帮忙


 page2 = {'tsrightdominion.blogspot.com': 0.00034787826123863585,
 'democraticunderground.com': 0.00405450384913243,
 'conservativepunk.com': 0.0004385189536822286,
 'anncoulter.org': 0.0009425724015017965,
 'aldaynet.org': 0.0012959749358987345,
 'gevkaffeegal.typepad.com/the_alliance': 0.0033127018380988433,
 'coxandforkum.com': 0.0026879530285120485,
 'wonkette.com': 0.004395058499406301,
 'hughhewitt.com': 0.006703806759727871,
 'blogsforbush.com': 0.012508582138399097,
 'drudgereport.com': 0.01071241551989842}

 name2 =[lambda val: for key,val in page2.items() if key == 'anncoulter.org']

  File "<ipython-input-44-c0422c8a8a14>", line 1
    name2 =[lambda val: for key,val in page2.items() if key == 'anncoulter.org']
                          ^
SyntaxError: invalid syntax

2 个答案:

答案 0 :(得分:0)

我认为这是正确的语法

name2 = [val for key,val in page2.items() if key == 'anncoulter.org']

结果[0.0009425724015017965]

答案 1 :(得分:0)

我认为您不需要在这里使用lambda。您尝试将列表推导和lambda一起使用,在这种情况下,它们不能一起使用。

随随便便

[val for key, val in your_dict.items() if your_truth_condition]

欢呼,您从字典中获得了val列表。