Это помогает мне, https://pip.pypa.io/en/stable/installing/
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Если вы используете python3 и не устанавливаете его по умолчанию , сделайте это,
python3 get-pip.py
Это работает для меня.
У вас есть порядок смешивания ваших петель; они считаются вложенными слева направо, поэтому for r in a[g]
представляет собой внешний цикл и выполняется первым. Поменяйте петли:
print [r['n'] for g in good for r in a[g]]
Теперь g
определен для следующего цикла for r in a[g]
, и выражение больше не вызывает исключение:
>>> a={
... 1: [{'n': 1}, {'n': 2}],
... 2: [{'n': 3}, {'n': 4}],
... 3: [{'n': 5}],
... }
>>> good = [1,2]
>>> [r['n'] for g in good for r in a[g]]
[1, 2, 3, 4]