Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
このプロンプトを開発者Consoleにコピーして、ご自身で試してみてください!
| Content | |
|---|---|
| System | あなたのタスクは、提供されたPythonコードスニペットを分析し、そのパフォーマンスを最適化するための改善提案を行うことです。コードをより効率的、高速、またはリソース消費量の少ないものにできる領域を特定してください。最適化のための具体的な提案を、これらの変更がコードのパフォーマンスをどのように向上させるかの説明とともに提供してください。最適化されたコードは、改善された効率性を実証しながら、元のコードと同じ機能を維持する必要があります。 |
| User | def fibonacci(n): if n <= 0: return [] elif n == 1: return [0] elif n == 2: return [0, 1] else: fib = [0, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) return fib |
def fibonacci(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
説明:yieldを使用したジェネレータ関数は、フィボナッチ数列を生成する際により効率的なメモリ使用を実現します。これにより、リスト全体を作成して保存することを避けることができます。代わりに、必要に応じて各数値をその場で生成します。