\

Pythonでは、リストの複数のインデックスを操作する方法がいくつかあります。ここでは、その中から主に2つの方法を紹介します。

複数のインデックスの値を取得

Pythonのoperatorモジュールのitemgetter関数を使用すると、リストから複数のインデックスを指定して値を取得することができます。以下にその使用例を示します。

from operator import itemgetter

sentence = ["why","japanese","people","!!"]
print(itemgetter(0,2)(sentence))  # ('why', 'people')

このコードでは、sentenceリストの0番目と2番目の要素を取得しています。

また、ランダムに複数のインデックスの値を取得することも可能です。

from operator import itemgetter
import numpy as np

datasetA = ["a","b","c","d"]
datasetB = [1,2,3,4]
data_size = len(datasetA)
sample_size = 2

shuffled_idx = np.random.choice(np.arange(data_size), sample_size, replace=False)
datasetA_random_pickup = itemgetter(*shuffled_idx)(datasetA)
datasetB_random_pickup = itemgetter(*shuffled_idx)(datasetB)

このコードでは、np.random.choice関数を使用してランダムにインデックスを選択し、そのインデックスの値を取得しています。

複数の指定したインデックスを削除

リストから複数のインデックスを指定して値を削除する方法もあります。以下にその使用例を示します。

dellist = lambda items,indices: [item for idx,item in enumerate(items) if idx not in indices]
del_idx = [0,2]  # 削除するインデックス
sentence = ["why","japanese","people","!!"]
sentence_deleted = dellist(sentence, del_idx)  # ['japanese','!!']

このコードでは、dellistというラムダ式を使用して、指定したインデックスの要素を削除しています。

以上、Pythonでリストの複数のインデックスを操作する方法について紹介しました。これらの方法を活用することで、Pythonでのリスト操作がより柔軟になります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です