你怎么用这种方式快速写一套?

时间:2015-02-05 20:03:54

标签: python set

它基本上说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])

都没有效果。

1 个答案:

答案 0 :(得分:3)

理解语法应该看起来像expression for identifier in collection。您似乎已交换了expressionidentifier的位置。

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])