你怎么用这种方式快速写一个集合?
How do you write a set quickly this way?
基本上说的是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])
都不行。
理解语法应该类似于 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])
基本上说的是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])
都不行。
理解语法应该类似于 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])