Python

Python基礎:リストのリスト

スポンサーリンク

はじめに

今回も「Python基礎」です。リストは複数の要素を並べて管理したものです。リストの要素はリストでもよく、この場合階層を持つことになります。ただ数字が並んでいるだけだとわかりやすくかったリストが、階層を持つと一気にイメージしにくくなりませんか?今回は、簡単な具体例を試しながら理解を深めていきましょう。

リストのリスト

早速、具体例で確かめながら進めていきましょう。まずは、次のコードでリストのリストを作りましょう。

list_of_list=[[1,2,3],[4,5,6],[7,8,9]]
list_of_list

このリストから値を取り出すことを考えてみましょう。まず、リストなので要素にはインデックス番号が振られています。リストから要素を取り出すには、[ ]でインデックス番号を指定すればよかったですね。インデックスの1を取り出してみましょう。

list_of_list[0]

このように一番目の要素である、[1,2,3]というリストが取り出されました。階層を持つとややこしくはなりますが、基本的にはいままで学んできた内容と変わりません。同じようにインデックス番号2を指定すると、[4,5,6]というリストが取り出されます。

次に、このリストからfor文を使って、順々に要素を取り出してみましょう。

for i in list_of_list:
    print(i)

これは[1,2,3], [4,5,6], [7,8,9]という要素が順に取り出されています。次に、李外から取り出した要素(リスト)から、さらに要素を取り出してみましょう。

for i in list_of_list:
    for j in i:
        print(j)

これは初めのfor文で一つ目の要素[1,2,3]が取り出されて、次のfor文でこの要素[1,2,3]から順に要素が取り出されて1,2,3を表示しています。同じように初めのfor文の2つ目の要素[4,5,6]から4,5,6が取り出される、・・・というように繰り返されています。

問題

リストのリストでも実際に問題に取り組んでみましょう。ある学校でおこなった、国語、数学、英語のテスト結果がリストのリストで与えられています。

exam_result=[[‘らくだ’,65,78,95],
[‘うさぎ’,72,87,68],
[‘ぞう’,68,72,82]]

 

1.各個人の3教科の平均点を算出して次のように表示してください。
 らくださんの3教科の平均点は〇点です。
 うさぎさんの3教科の平均点は〇点です。
 ぞうさんの3教科の平均点は〇点です。
2.全員の全教科の平均点を算出して次のように表示してください。
 平均点は〇点です。
3.全員の数学の平均点を算出して次のように表示してください。
 数学の平均点は〇点です。

解答

1.の解答

for i in exam_result:
    print('%sさんの平均点は%.1fです。'%(i[0],sum(i[1:])/3))

2.の解答

total=0
for i in exam_result:
    animal_sum=sum(i[1:])
    total+=animal_sum
print('平均点は%.1fです。'%(total/9))

3.の解答

math_sum=0
math_av=0
for i in exam_result:
    math_sum+=i[2]
    math_av=math_sum/3
print('数学の平均点は%.1fです。'%math_av)

さて、答えを見てしまえば解説の必要はなさそうですよね。%演算子は、文字列の中で指定している%演算子が一つであれば、文字列の後に%と値を格納している変数名だけをかけばよいです。但し、変数は一つでも演算を施す場合は()で囲むことを忘れないようにしましょう。また、複数の演算子がある場合も、()で囲んで、変数をカンマ区切りする、という決まりがあります。

スポンサーリンク

まとめ

いかがでしょうか?少し、込み入った問題も順を追って考えると解くことができますね。データ分析とはちょっと離れてしまいましたが、3回続けて「Python基礎」を扱ってみました。

コメント

タイトルとURLをコピーしました