[float(x)/y for x in a for y in b]
[2.0, 6.0, 12.0, 4.0, 1.0, 0.5, 1.5, 3.0, 1.0, 0.25, 0.6666666666666666, 2.0, 4.0, 1.3333333333333333, 0.3333333333333333, 1.0, 3.0, 6.0, 2.0, 0.5, 0.3333333333333333, 1.0, 2.0, 0.6666666666666666, 0.16666666666666666]
如果希望结果以分数形式显示,则应导入“分数”模块:
import fractions
set([fractions.Fraction(x)/y for x in a for y in b])
set([Fraction(1, 2), Fraction(1, 1), Fraction(2, 1), Fraction(3, 1), Fraction(4, 1), Fraction(6, 1), Fraction(12, 1), Fraction(1, 3), Fraction(2, 3), Fraction(4, 3), Fraction(1, 6), Fraction(1, 4), Fraction(3, 2)])
>>> a = [12,3,4,6,2]
>>> b = [6,2,1,3,12]
>>> c = {x/y for x in a for y in b} # float(x)/y in Python 2.x
>>> c
{0.5, 1.0, 2.0, 1.5, 4.0, 3.0, 6.0, 0.25, 0.6666666666666666, 1.3333333333333333,
0.16666666666666666, 12.0, 0.3333333333333333}
您可以使用列表理解:
如果希望结果以分数形式显示,则应导入“分数”模块:
使用集合理解(防止重复项):
使用^{} 获取列表对象而不是^{} :
您可以使用
itertools.product
获取所有要减法的对:然后你划分:
如果要浮动:
将所有内容放在一行中:
相关问题 更多 >
编程相关推荐