与えられた整数の全要素対のリストを取得する最も簡単な方法は何ですか?与えられた整数の全要素対のリストを取得する最も簡単な方法は?
たとえば、f(20)
は[(1,20), (2,10), (4,5)]
を返します。
def f(n):
from itertools import takewhile
if not isinstance(n,int):
raise ValueError("supplied %s type, requires integer input" %(type(n).__name__))
return [(i,n/i) for i in takewhile(lambda x:x*x<n,xrange(1,n)) if (n%i)==0]
可能重複します(http://のstackoverflow。 com/questions/171765/what-is-the-the-best-way-to-a-numberの除数) –
部分的に重複していますが、異なる質問です。 –