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

Pythonで特定の長さKのタプルをリストから削除する方法

はじめに

Pythonで、特定の長さ「K」を持つタプルをリストから取り除きたい場合、リスト内包表記(list comprehension)を使うと非常に簡潔に実現できます。本記事では、その具体的な方法をサンプルコードとともに分かりやすく解説します。

実装例

my_list = [(32, 51), (22, 13), (94, 65, 77), (70, ), (80, 61, 13, 17)]

print("The list is : ")
print(my_list)

K = 1
print("The value of K is ")
print(K)
my_result = [ele for ele in my_list if len(ele) != K]

print("The filtered list is : ")
print(my_result)

出力結果

The list is :
[(32, 51), (22, 13), (94, 65, 77), (70,), (80, 61, 13, 17)]
The value of K is
1
The filtered list is :
[(32, 51), (22, 13), (94, 65, 77), (80, 61, 13, 17)]

コードの解説

  • まず、複数のタプルを含むリストを定義し、その内容をコンソールに表示します。

  • 次に、削除対象となるタプルの長さ「K」に値を代入し、こちらもコンソールへ出力します。

  • リスト内包表記を使い、各要素(タプル)の長さを len() 関数で確認し、長さが「K」と異なる要素だけを新しいリストに抽出します。

  • フィルタリングされた結果は変数 my_result に代入されます。元のリスト自体は変更されない点に注意してください。

  • 最後に、得られたリストをコンソールに出力して完了です。

応用ポイント

リスト内包表記は、forループとif文を1行でまとめて書けるPythonらしい記法です。条件式を len(ele) == K に変更すれば、逆に「長さKのタプルだけを残す」処理にも簡単に応用できます。また、大量のデータを扱う場合は、リスト全体をメモリに展開しないジェネレータ式(括弧を使った記法)に置き換えることで、メモリ使用量を抑えることも可能です。

  1. Pythonで辞書をタプルのリストに変換する3つの方法

    Pythonでは、あるコレクション型から別のコレクション型への変換は非常によく行われる操作です。データ処理の要件によっては、辞書に格納されたキーと値のペアを、タプルとしてリストに変換する必要が生じることがあります。この記事では、その実現方法をいくつか紹介します。 items()メソッドとリスト内包表記を使う方法 最もシンプルでPythonらしい方法は、辞書のitems()メソッドをリスト内包表記と組み合わせて使うことです。各キーと値のペアを直接タプル化し、それらをまとめてリストとして生成できます。 サンプルコード Adict = {30:Mon,11:Tue,19:Fri} # 対象とな

  2. Pythonのタプルリストから要素の出現頻度を求める方法

    Pythonでは、さまざまな種類のデータコンテナが混在することがよくあります。たとえば、リストの各要素がタプルになっているケースです。本記事では、このような「タプルを要素とするリスト」から、特定の要素が出現する頻度(出現回数)を求める2つの方法を紹介します。 方法1:count() と map() を使う まず、ラムダ式(lambda)を使ってリスト内の各タプルの先頭要素を取り出し、map() 関数でそれらをまとめたうえで、count() を適用して目的の要素の合計出現回数を取得します。 コード例 # タプルのリストを初期化 listA = [(Apple, Mon), (Banana, Tu