【发布时间】:2020-08-05 22:06:48
【问题描述】:
我试图编写一个 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
【问题讨论】:
-
你使用什么语言?
-
我正在使用python
-
我想你在找
[val for key,val in page2.items() if key == 'anncoulter.org'] -
您可能正在混合 lambdas 和列表理解。要提取不需要任何 lambda 的值:只需将
lambda val:替换为val -
您期望
name2的值是多少?该行中的语法表明您有一个单个元素的列表,该元素是具有一个参数的 lambda 函数。for循环不是合法的函数值——这就是你有语法错误的原因。