dポイントプレゼントキャンペーン実施中!

range関数とlen関数の意味は、どちらも『数を数える』ということでしょうか?

この2つの関数の違いがわからないので、出来る限り簡単に教えて下さい。

質問者からの補足コメント

  • 回答ありがとうございます。一つだけ確認させてください。

    シーケンスというのは、「異なる番号をもってる要素の集まり」という意味でしょうか?

      補足日時:2023/02/23 17:58

A 回答 (3件)

lenは文字列の長さ、リストの要素数等を返します。


str="ABCD"
x = len(str)
print(x) # 4が表示される
arr = [10,20,30]
x = len(arr)
print(x) # 3が表示される


rangeはrangeオブジェクトと呼ばれる整数の並びを生成します。

range(5) # 0,1,2,3 の並びを生成

for i in range(5):
  print(i) # 0,1,2,3,4 が表示される(全角スペースでインデントしてます)
    • good
    • 1
この回答へのお礼

len関数は、リストの要素数を返す(表示する)
range関数は、rangeオブジェクトと呼ばれる整数の並びを作成する
ということですね。

回答ありがとうございました。

お礼日時:2023/02/26 13:16

len関数はオブジェクトの整数値を返す__len__()メソッドを


呼び出すだけ。オブジェクトが「長さ」、「サイズ」の概念を
持っている場合整数値が返る。持ってなければ例外TypeErrorになる。

__len__は任意のオブジェクトに実装可能なので、シーケンス以外にでも
lenが使える場合が有ります。コレクションには順序を持たなければ
ならないという縛りは無いので。

range関数は一連の整数値を生成するイテレーターが実装された
オブジェクトを作って返します。

両者は全く異質なものですよ。
    • good
    • 1

range関数は整数のシーケンスを作成するために使用され、len関数はシーケンスに含まれる要素の数を数えるために使用されます。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!