0

我试图在我的列表中找到指定元素的索引,例如,它是由带有分数的 xrange 生成的。

>> print lst
[Fraction(1, 8), Fraction(1, 7), Fraction(1, 6), Fraction(1, 5), Fraction(1, 4),          Fraction(2, 7), Fraction(1, 3), Fraction(3, 8), Fraction(2, 5), Fraction(3, 7), Fraction(1,   2), Fraction(4, 7), Fraction(3, 5), Fraction(5, 8), Fraction(2, 3), Fraction(5, 7), Fraction(3, 4), Fraction(4, 5), Fraction(5, 6), Fraction(6, 7), Fraction(7, 8)] 

我一直在尝试一切。为什么这不起作用。

lst.index(1,6) 

或者

lst.index( Fraction(1,6) )

我已经尝试了更多,但我总是得到

print lst.index(Fraction(1,6))
ValueError: Fraction(1, 6) is not in list

有什么建议吗?

有关我如何创建列表的更多信息:

for d in xrange(1,limit+1):
        for n in xrange(1,limit+1):
                x = Fraction(n,d)
                lst.append(x)
4

1 回答 1

1

对我来说似乎很好......

>>> from fractions import Fraction
>>> d = [Fraction(1, 8), Fraction(1, 7), Fraction(1, 6), Fraction(1, 5), Fraction(1, 4),          Fraction(2, 7), Fraction(1, 3), Fraction(3, 8), Fraction(2, 5) , Fraction(3, 7), Fraction(1,   2), Fraction(4, 7), Fraction(3, 5), Fraction(5, 8), Fraction(2, 3), Fraction(5, 7), Fraction(3, 4), Fraction(4, 5), Fraction(5,6), Fraction(6, 7), Fraction(7, 8)]
>>> d.index(Fraction(1,6))
2
于 2012-11-06T02:48:37.947 回答