它基本上说B = [y | sqrt(y) in X]
,但是当我用Python写它时,我得到一个错误。我试过了:
b_set = set([y for y**0.5 in x_set])
b_set = set([y for math.sqrt(y) in x_set])
都没有效果。
答案 0 :(得分:3)
理解语法应该看起来像expression for identifier in collection
。您似乎已交换了expression
和identifier
的位置。
import math
x_set = [1,4,9,16]
b = {math.sqrt(y) for y in x_set}
print b
结果:
set([1.0, 2.0, 3.0, 4.0])