a = [(lambda x: x * i) for i in (1, 2)]
>>> a[1](1)
2
>>> a[0](1)
2

これがxがundefinedにならない理由はなんですか?またx:の部分は引数ですよね?何も受け取らなくてもエラーにならないんですか?