Python
 Computer >> コンピューター >  >> プログラミング >> Python

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ループによる方法と使い分けるとよいでしょう。


  1. PythonでリストからN個の最大要素を取得する方法

    整数のリストが与えられたとき、その中からN個の大きな要素を取り出して新しいリストとして返すのが、ここでの課題です。本記事では、基本的なループ処理による方法から、Python標準ライブラリを活用した効率的な方法まで、サンプルコードとともに解説します。 例 入力 : [40, 5, 10, 20, 9] N = 2 出力 : [40, 20] アルゴリズム 整数のリストと、取得する要素数Nを受け取ります。 N回のループを実行します。 各ループでリスト内の最大値を探し、新しいリストに格納すると同時に元のリストから削除します。 実装コード def Nnumberele(list1, N):

  2. PythonでJSON入力から辞書(dict)を作成する方法をわかりやすく解説

    Pythonでは、標準ライブラリのjsonモジュールを使うことで、JSONファイルを簡単に解析(パース)できます。このモジュールはJSONデータを読み込み、Pythonの辞書(dict)へと変換します。変換後は、通常の辞書とまったく同じようにキーを指定して値を取得したり、ループ処理したりすることが可能です。サンプルとなるJSONファイル例えば、以下のような内容のJSONファイル(data.json)が存在するとします。{ id: file, value: File, popup: { menuitem: [ {value: New