Python – リストの先頭K個の要素に値Nを代入する方法
Pythonでは、リストの先頭K個の要素に特定の値Nを一括して代入したいケースがあります。そんなときは、シンプルな反復処理(forループ)を使うだけで簡単に実現できます。本記事では、具体的なサンプルコードとその実行結果、処理の流れをわかりやすく解説します。
サンプルコード
my_list = [31, 24, 46, 18, 34, 52, 26, 29]
print("リストの内容:")
print(my_list)
K = 2
print("K の値:")
print(K)
N = 3
print("N の値:")
print(N)
for index in range(K):
my_list[index] = N
print("処理後のリスト:")
print(my_list)
実行結果
リストの内容: [31, 24, 46, 18, 34, 52, 26, 29] K の値: 2 N の値: 3 処理後のリスト: [3, 3, 46, 18, 34, 52, 26, 29]
コードの解説
まず、整数値を含むリスト
my_listを定義し、コンソールに表示します。続いて、置き換える要素数を表す
Kと、代入する値を表すNを定義し、それぞれコンソールに表示します。forループとrange(K)を使って、リストの先頭からK個分のインデックス(0 ~ K-1)を順に走査し、該当する位置の要素にNの値を代入します。最後に、更新されたリストをコンソールに出力します。この例では、先頭2つの要素が
3に置き換えられていることが確認できます。
補足:スライスを使ったより簡潔な書き方
同じ処理は、スライスとリストの乗算を組み合わせることで、1行でより簡潔に記述することもできます。
my_list[:K] = [N] * K
この方法では、リストの先頭K個分の範囲を、値 N をK個並べた新しいリストで一括置換できます。要素数が多い場合でも可読性が高く、Pythonらしいイディオム的な書き方といえます。用途に応じて、forループによる方法と使い分けるとよいでしょう。
-
PythonでリストからN個の最大要素を取得する方法
整数のリストが与えられたとき、その中からN個の大きな要素を取り出して新しいリストとして返すのが、ここでの課題です。本記事では、基本的なループ処理による方法から、Python標準ライブラリを活用した効率的な方法まで、サンプルコードとともに解説します。 例 入力 : [40, 5, 10, 20, 9] N = 2 出力 : [40, 20] アルゴリズム 整数のリストと、取得する要素数Nを受け取ります。 N回のループを実行します。 各ループでリスト内の最大値を探し、新しいリストに格納すると同時に元のリストから削除します。 実装コード def Nnumberele(list1, N):
-
PythonでJSON入力から辞書(dict)を作成する方法をわかりやすく解説
Pythonでは、標準ライブラリのjsonモジュールを使うことで、JSONファイルを簡単に解析(パース)できます。このモジュールはJSONデータを読み込み、Pythonの辞書(dict)へと変換します。変換後は、通常の辞書とまったく同じようにキーを指定して値を取得したり、ループ処理したりすることが可能です。サンプルとなるJSONファイル例えば、以下のような内容のJSONファイル(data.json)が存在するとします。{ id: file, value: File, popup: { menuitem: [ {value: New