TIL 9 | List


1.リストの構成


  • Pythonは複数のデータをリスト順に格納できる.
  • Listは括弧([])で囲み、格納された値を要素(element)と呼び、カンマで区切る.
  • Listは文字列のほか、数字、ブール値などすべてのタイプの値を格納したり、異なるタイプの値を格納したりすることができます.
  • list存在順、ゼロから.
  • 多次元リスト
    多次元リストは、リスト内のリストを表します.次のシェイプで構成されています.My_list = [["Bulls", 23], ["White Sox", 45]]
  • 2.Indexを使用してlistにアクセス


    1)リストから最初のデータを抽出する

    def list_index():
        my_list = [50, 60, 70];
        first_value = my_list[0];   # 첫 번째 데이터 반환
        return first_value

    2)インデックス内のデータの変更

    def modify_list():
        my_list = [18,64,99];
        my_list[0] = 72;   # 첫 번째 데이터를 72로 수정
        return my_list;

    3)多次元リストからのデータの抽出


    数値8を返す関数access list()の作成
    def access_list():
        my_list = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];
        my_data = my_list[2][1];  # [세로 위치][가로 위치]
        return my_data;

    3.リスト要素の変更


    1)リストに新しい値を追加

  • append()使用list_name.append(element)リスト末尾に新しい要素を追加

  • +使用
    追加する要素が1つを超える場合は、append代替+カッコ([])を使用して、追加する要素をリスト形式に設定し、追加する必要があります.
  • list1 = [1, 2, 3, 4]
    list2 = [5, 6, 7]
    
    list1 + list2
    
    print(list1)  # list 1 = [1, 2, 3, 4]
    
    list1 = list1 + list2
    
    print(list1) # [1, 2, 3, 4, 5, 6, 7]
    使用
  • insert使用insert必要な場所にエレメントを挿入できます.
  • cities = [
    	"서울특별시",
        	"부산광역시",
       	"인천광역시",
        	"대구광역시",
            "대전광역시"
    ]
    上のリストで、「ソウル特別市」の後に「済州市」を挿入したい場合は
    下図のように、insertメソッドを使用すればよい.
    cities.insert(1, "제주시")
  • 空リストを生成して要素を追加
  • my_list = []   # 비어있는 대괄호로 생성
    my_list.append(1)
    my_list = my_list + [2, 3]

    2)リストから値を削除


    使用
  • deldelキーとlistのインデックスを使用してリストから必要な要素を削除
  • input = [1, 2, 3, 4, 5, 6, 7]
    print(input)      # 결과 [1, 2, 3, 4, 5, 6, 7]
    
    del input[3]
    print(input)      # 결과 [1, 2, 3, 5, 6, 7] / '4' 삭제됨
    


    5つの要素の合計入力リストから小数を削除し、偶数しか残っていないリストを返します.
    def remove_odd_numbers(numbers):
      if numbers[4] % 2 != 0:
        del numbers[4]
      if numbers[3] % 2 != 0:  # elif 대신 if 쓰기! (대안이 아니니까)
        del numbers[3]
      if numbers[2] % 2 != 0:
        del numbers[2]
      if numbers[1] % 2 != 0:
        del numbers[1]
      if numbers[0] % 2 != 0:
        del numbers[0]
      return numbers
    使用
  • remove()方法list_name.remove("elememt")必要な要素を削除
  • def list_remove():
         my_list = ["고양이", "강아지"];
         my_list.remove("강아지");   # 함수명.remove("강아지");
         return my_list;		# 결과: my_list = ["고양이"]
    使用
  • pop()方法list_name.pop()リストの最後の要素を削除
  • def list_pop():
         my_list = [["John", 23], ["cat", 2]];
         my_list.pop();   # 함수명.pop();
         return my_list;

    3) List slicing


    リストの一部をコピーします.
    bts = ["RM", "제이홉", "진", "정국", "지민", "뷔", "슈가"]
    sub_bts = bts[1:4]   # 2번째 요소부터 4번째 요소만 copy
    
    결과: ['제이홉', '진', '정국']
    

    listスライス中のoptionstep
    list_name[start: stop:step]  # step은 한번에 몇 요소씩 건너뛸 것인지 정해줌.

    Slicing Tip
    リストがスライスされている間にstart indexが空になっている場合は、リストの最初の要素から開始します.
    逆にstop indexを空にするとstart indexから終了までインポートされます.
    my_list = [1, 2, 3, 4, 5, 6, 7, 8]
    
    sub_my_list1 = my_list[:4]
    print(sub_my_list1)			# 결과 [1,2,3,4]
    
    sub_my_list2 = my_list[4:]
    print(sub_my_list2)			# 결과 [5,6,7,8]
    
    sub_my_list3 = my_list[1:5]
    print(sub_my_list3)			# 결과 [2,3,4,5]