Получена синтаксическая ошибка при попытке использовать лямбда-функцию - PullRequest
0 голосов
/ 06 августа 2020

Я пытался написать лямбду и извлечь значение из словаря, но вернулось с синтаксической ошибкой. Я не мог сказать, в чем дело, помогите пожалуйста

 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 голосов
/ 06 августа 2020

Я не думаю, что вам здесь нужна лямбда. Вы пробовали использовать понимание списка и лямбда вместе, которые не go вместе в этом случае.

Просто go с

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

Ура, вы получили список val из dict.

0 голосов
/ 06 августа 2020

Думаю, это правильный синтаксис

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

Результат [0.0009425724015017965]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...