找到 python 中分数列表的最小公分母
find least common denominator for list of fractions in python
我有一个分数列表
from fractions import Fraction
fractions_list=[Fraction(3,14),Fraction(1,7),Fraction(9,14)]
输出应该是一个列表,其中包含每个分数的分子,最后是所有分数的分母,并且是最简单的形式。对于上面的示例,结果 (3/14, 2/14, 9/14) 将表示如下
[3,2,9,14]
有没有优雅的解决方案?我能想到的只有很多中间列表来存储一些变量和可怕的比例。
import numpy as np
fractions_list=[Fraction(3,14),Fraction(1,7),Fraction(9,14)]
lcm = np.lcm.reduce([fr.denominator for fr in fractions_list])
vals = [int(fr.numerator * lcm / fr.denominator) for fr in fractions_list]
vals.append(lcm)
我有一个分数列表
from fractions import Fraction
fractions_list=[Fraction(3,14),Fraction(1,7),Fraction(9,14)]
输出应该是一个列表,其中包含每个分数的分子,最后是所有分数的分母,并且是最简单的形式。对于上面的示例,结果 (3/14, 2/14, 9/14) 将表示如下
[3,2,9,14]
有没有优雅的解决方案?我能想到的只有很多中间列表来存储一些变量和可怕的比例。
import numpy as np
fractions_list=[Fraction(3,14),Fraction(1,7),Fraction(9,14)]
lcm = np.lcm.reduce([fr.denominator for fr in fractions_list])
vals = [int(fr.numerator * lcm / fr.denominator) for fr in fractions_list]
vals.append(lcm)