■List内のデータを分ける
List内のデータを分ける方法はいくつか存在する。
今回は以下2つの方法で要素を分ける。
①for文を使用して、奇数・偶数番目の要素を別々に格納する。
②コロン「:」を使用して任意の数以下または以上表示させる。
▼for文を使用した分割
配列の要素数分、ループ処理を実施し、奇数・偶数番目の要素をそれぞれ別の配列へと格納する。
・サンプルコード
# -*- Coding: UTF-8 -*-
# リスト内の要素を奇数・偶数のインデックスで分割する関数
def ListSeparate(list_data: list):
# 奇数(odd)と偶数(even)配列をそれぞれ作成
list_odd = []
list_even = []
# リストの要素数分ループ処理
for i in range(len(list_data)):
# インデックスが奇数の場合はlist_oddへ
if i % 2 == 1:
list_odd.append(list_data[i])
# インデックスが偶数の場合はlist_evenへ
elif i % 2 == 0:
list_even.append(list_data[i])
print('インデックス奇数:', list_odd)
print('インデックス偶数:', list_even)
# メイン処理
if __name__ == '__main__':
# テストデータをセット
input_data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 関数呼び出し
ListSeparate(input_data)
・実行結果
インデックス奇数: [1, 3, 5, 7, 9]
インデックス偶数: [0, 2, 4, 6, 8]
▼コロン「:」を使用した分割
コロン「:」を使用してリスト内のデータ分割するには、表示させる番号の前後にコロン「:」をつける。
・サンプルコード
# -*- Coding: UTF-8 -*-
import random
# リスト内の要素を任意のインデックスで分割する関数
def ListSeparate(list_data: list, separate_num: int):
print('分ける位置:' + str(separate_num) + '番目')
print(list_data[:separate_num])
print(list_data[separate_num:])
# メイン処理
if __name__ == '__main__':
# テストデータをセット
input_data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 任意の数(0からリストの要素数分までの整数)
num = random.randint(0, len(input_data))
# 関数呼び出し
ListSeparate(input_data, num)
・実行結果(複数回実施)
分ける位置:9番目
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[9]
分ける位置:1番目
[0]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
分ける位置:5番目
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
分ける位置:10番目
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[]
分ける位置:5番目
[0, 1, 2, 3, 4]
[5, 6, 7, 8, 9]
分ける位置:7番目
[0, 1, 2, 3, 4, 5, 6]
[7, 8, 9]
コメント