プログラミング入門I
2026.01.05
リスト その1

Back to index page



  1. 本日の作業内容

  2. 確認テストについて
  3. 授業の最初に確認テストを行います.

  4. 前回の宿題について

    今回は残念ながら久しぶりに形式的に問題のあるものが出てきてしまいました.残念です.提出の際にはきちんと確認しましょう.

    ハイフンラインなし: 24_07

    番号と名前: 22_55

    以下は例によって気になるプログラムの例です.参考にしてください.

    print('  0  1  2  3  4  5  6  7  8  9')
    

    ぼちぼちプログラミングにも慣れてきたので,もうこういうのはやめて反復処理を使ってください.

        print(letter.count(str(i)), end=' ')
    

    依然として文字の表示幅の指定をしないケースが見られます.これまで何度も f 文字列については説明しているので,そろそろ理解しましょう.

    Frequencies
      0  1  2  3  4  5  6  7  8  9
     4  4  3  4  8  2  6  12  4  3 
    

    for i in range(50):
        nums += str(random.randint(0,9))
    
    print(nums)
    print()
    
    print('Frequencies')
    
    print('', end='')
    for k in range(10):
        print(f'{k:>3}', end='')
    print()
    
    print('', end='')
    for k in range(10):
        print(f'{nums.count(str(k)):>3}', end='')
    

    上の例もこれまで説明してきましたが,for 文のインデックスに使う変数は入れ子のものでなければ変更する必要は無いので,一般的な i でそのままやっていきましょう.

  5. 前回の復習

    文字列について,Python に用意されているいくつかのメソッドの適用を実習しました.メソッドは文字列だけでなく,リストにも適用できるものがありますので,引き続き理解を深めていきましょう.

  6. リスト

    プログラミング言語であればどの言語でも「配列」が用意されています.複数の値を一つの名前で扱うことができる便利なものです.今回学習する「リスト」は,教科書の p.165 にも書いてあるように,「配列をパワーアップさせた」ものです.その分機能が多いので,すべてを理解するには相当な時間がかかります.今回は教科書に沿って基本的なところを見ていくことにします.

    1. 概略

      教科書の p.166 にまとめてある 1 から 9 番までの記述がリストをきちんと説明しているので,まずは,ここをしっかり理解しましょう.また,Fig.7-2 もよく見て理解しましょう.Python はオブジェクト指向型の言語なので,リストもオブジェクトへの参照ということで,型の異なる値などもひとまとめにして扱える便利なものです.

      1. データの構造
      2. リストは複数の値を一つにまとめていますので,リスト自体を print 関数で表示すると,その形態のままで出力されます.以下の例で確認してみてください.

        lst = [1, 2, 3, 4]
        
        print(lst)    
        

      3. 要素の値のみの表示
      4. リストの要素を順に表示するときはインデックスを使用して反復処理を用いて行います.

        lst = [1, 2, 3, 4]
        
        for i in range(0,4):
            print(lst[i])
        

    2. 生成

      リストはリスト表記演算子 [ ] をつかって生成できます.また,list 関数を使っても作成できます.

      ただし,教科書では基本的には最初に要素を確定させたリストを用意して,その要素に対して処理をする例ばかりが出ています.まず,何か自動でリストを作るという作業となると,教科書 p.169 の None を使う,教科書 p.178 の insert メソッドを使う,もしくは次回行う予定の内包表記を使う必要があります.とりあえず下に None と insert メソッドを使用する方法を載せておきます.

      lst = [None] * 10
      
      for i in range(0,10):
          lst[i] = i
      
      print(lst)
      
      lst = []
      
      for i in range(0,10):
          lst.insert(i,i)
      
      print(lst)
      
      None を使う方法 insert を使う方法

      他にも,教科書の p.176 の append を使う方法もあります.この授業では今回は None を使う方法を紹介します.内包表記については後日改めて紹介します.
    3. 要素のアクセス

      リストの要素はインデックスによってアクセスできます.前回まで学習した文字列と同様,インデックスは 0 番から始まります.また,こちらも文字列と同様 負の数によって末尾の要素からの順番でもアクセスできます.

    4. 2次元リスト

      次回行います.

    5. コピー

      こちらも次回行います.

  7. 演習

    今回の演習問題です.

  8. 宿題

    宿題は今回もMoodleを使用します.明日火曜日の10:00以降に閲覧可能となります.祝日による特別な日程となりますので,提出も変則的になり,15日(木)の13:00ですので注意してください.

  9. 次回の予習範囲

    次回は教科書のp.190-199の範囲を学習しますので,予習をしてきてください.


目次ページに戻る