Pythonで特定の長さ(K)の行を除外する方法
リストの中から、特定の長さ(K)を持つ行を除外したい場合、シンプルな反復処理(forループ)と len() 関数、append() メソッドを組み合わせることで簡単に実現できます。
サンプルコード
以下に具体的な実装例を示します。
my_list = [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]]
print("The list is :")
print(my_list)
my_k = 2
print("The value of K is ")
print(my_k)
my_result = []
for row in my_list:
if len(row) != my_k :
my_result.append(row)
print("The resultant list is :")
print(my_result)
出力結果
The list is : [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]] The value of K is 2 The resultant list is : [[8, 10, 12, 8], [6, 82, 10]]
処理の流れと解説
まず、ネストされたリスト(リストのリスト)を定義し、コンソールに表示します。
除外の基準となる値Kを定義し、こちらもコンソールに表示します。
結果を格納するための空のリストを作成します。
元のリストを1行ずつ反復処理していきます。
各行の要素数(len)がKと等しくない場合のみ、その行を結果用のリストに追加(append)します。
最終的に、長さK以外の行だけで構成されたリストが出力されます。
補足:リスト内包表記による簡潔な書き方
上記の処理は、Pythonのリスト内包表記を使うことで、さらに簡潔に1行で記述することも可能です。
my_result = [row for row in my_list if len(row) != my_k]
このように書くことで、コードの可読性が向上し、Pythonらしいイディオマティックな表現になります。条件を変更すれば、「特定の長さの行だけを抽出する」処理にも簡単に応用できるため、覚えておくと便利です。
-
文字列の中から偶数の長さの単語を出力するPythonプログラム
本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り
-
Pythonでリストを出力する方法|インデックスの基本から実践的な出力テクニックまで
Pythonのリストとは? Pythonのリスト(list)は、複数の要素をひとつにまとめて管理できるデータ型です。リスト内の各要素は順序を持って格納されており、それぞれの位置(インデックス)を指定することで、任意の要素にアクセスできます。 インデックスは0から始まる リストのインデックスは0から始まる点に注意が必要です。つまり、最初の要素が list[0]、2番目の要素が list[1]、3番目の要素が list[2] に対応します。 例えば、以下のようなリストを考えてみましょう。 numbers = [10, 20, 50, 40] print(numbers[2]) # 出力結果:5