6.1.3リストの要素数を取得する

構文len関数
len(lists)
lists:対象のリスト
data = ['山田', '鈴木', '日尾', '本多', '掛谷']
print(len(data))
答えは5
名前の数が5つあります。
数え方は0,1,2,3,4,です

data = [
  ['Sみかん', 'Mみかん', 'Lみかん'],
  ['S八逆', 'M八逆', 'L八逆'],
  ['Sネーブル', 'Mネーブル', 'Lネーブル'],
]

print(len(data))
答えは3
[]の中の数を数えると3つあります。これを答えています。
[]が三つあるのは関係なく、[]の中にいくつあるかが重要のようです

data = [
...   ['Sみかん', 'Mみかん', 'Lみかん'],
...   ['S八逆', 'M八逆', 'L八逆'],
...   ['Sネーブル', 'Mネーブル', 'Lネーブル'],
... ]

rint([len(clist) for clist in data])
[3, 3, 3]

これの違いをチャットGPT4に聞くと
  1. print(len(data)):

    • これは、dataというリストの最上位レベルの要素の数を数えます。
    • dataの最上位レベルの要素は他のリストで、その数は3です(['Sみかん', 'Mみかん', 'Lみかん']['S八逆', 'M八逆', 'L八逆']['Sネーブル', 'Mネーブル', 'Lネーブル']の3つ)。
    • そのため、この関数は数字の3を返します。
  2. print([len(clist) for clist in data]):

    • これは、リスト内包表記というPythonの特性を使って、dataというリストの各要素(ここでは内側のリスト)の長さを一つの新しいリストにまとめます。
    • dataの各要素(内側のリスト)は、それぞれ3つの要素を持っています(例えば['Sみかん', 'Mみかん', 'Lみかん']は3つの要素'Sみかん', 'Mみかん', 'Lみかん'を持っています)。
    • そのため、この関数は3つの要素を持つ新しいリスト[3, 3, 3]を返します。これは、それぞれの内側のリストが3つの要素を持っていることを示しています。

clistってなんなのか。
プログラム内のデータを一時的に保持するためのもの
基本なんでもよいが意思統一するため一貫性と解りやすいものなどが必要のようです

変数名の一般的なルールがあるそうで
  • 変数名はアルファベット、数字、アンダースコア(_)で構成する。
  • 数字から始まる変数名は避ける。
  • Pythonの予約語(forwhileifなど)は変数名として使用できない
とチャットGPTはいってます。

つまりrint([len(clist) for clist in data])は

clistの中のデータの[]内の数を数えよとなります。