Pythonでのフィボナッチ数列リスト内包表記の方法


  1. ループを使用した方法: 最も基本的な方法は、ループを使用してフィボナッチ数列を生成する方法です。以下はそのコード例です。
def fibonacci(n):
    fib_list = [0, 1]  # 最初の2つの要素を設定
    while len(fib_list) < n:
        fib_list.append(fib_list[-1] + fib_list[-2])  # 最後の2つの要素を足して新しい要素を生成
    return fib_list
n = 10  # 生成するフィボナッチ数列の長さ
fibonacci_list = fibonacci(n)
print(fibonacci_list)
  1. 再帰関数を使用した方法: 再帰関数を使用してフィボナッチ数列を生成する方法もあります。以下はそのコード例です。
def fibonacci(n):
    if n <= 1:
        return [0, 1][:n+1]  # nが0以下の場合は[0]、1以下の場合は[0, 1]を返す
    fib_list = fibonacci(n-1)
    return fib_list + [fib_list[-1] + fib_list[-2]]  # 最後の2つの要素を足して新しい要素を生成
n = 10  # 生成するフィボナッチ数列の長さ
fibonacci_list = fibonacci(n)
print(fibonacci_list)
  1. リスト内包表記を使用した方法: Pythonのリスト内包表記を使用して、コンパクトな方法でフィボナッチ数列を生成することもできます。以下はそのコード例です。
n = 10  # 生成するフィボナッチ数列の長さ
fibonacci_list = [0, 1] + [fibonacci_list[-1] + fibonacci_list[-2] for _ in range(n-2)]
print(fibonacci_list)

これらはPythonでフィボナッチ数列を生成するいくつかの方法です。リスト内包表記を使用すると、コードが短くなり、シンプルになります。どの方法を選ぶかは好みの問題ですが、それぞれの方法の特徴や利点を理解し、適切な方法を選択することが重要です。