質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

221閲覧

pythonのリストのリストの処理

d1205cherish

総合スコア12

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/03/01 17:23

前提・実現したいこと

pythonでリストのリストの処理を行いたいです.
list=[[1,2,3,4],[5,4,3,3],[6,4,2,4],[6,4,9,4]]
リストのリストに2以下の要素がある場合,そのリストのリストをリストから消去したいです.
例えば,listにおいて2以下の要素を含むリストのリストを消去すると,結果が
list=[[5,4,3,3],[6,4,9,4]]
といった結果を得るようにしたいです.助言お願いします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

次のコードを研究してみてください。
eee.py

python3

1lst = [[1,2,3,4],[5,4,3,3],[6,4,2,4],[6,4,9,4]] 2print(lst) 3 4result = [x for x in lst if all(e > 2 for e in x)] 5print(result) 6 7result = [(i, x) for i, x in enumerate(lst)] 8print(result) 9 10result = [(i, x) for i, x in enumerate(lst) if not all(e > 2 for e in x)] 11print(result)

実行例
イメージ説明

参考情報

  • 【Python】filter()関数とlambdaでリストから特定の要素を抽出する – サンプルコード付

https://it-engineer-lab.com/archives/124

  • 【自分用メモ】Pythonでデータサイエンスをするときに役立ちそうなTips: yield, partial, map, filter, reduce, enumerate

https://qiita.com/tk_01/items/e047d82be6397b494f28

投稿2019/03/01 21:53

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

python

1lst = np.array([[1,2,3,4],[5,4,3,3],[6,4,2,4],[6,4,9,4]]) 2print(lst[np.all(lst > 2, axis=1)]) 3 4# => array([[5, 4, 3, 3], 5# [6, 4, 9, 4]])

投稿2019/03/01 17:38

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

変数名listは組み込み型を上書きするので避けましょう。


python

1lst=[[1,2,3,4],[5,4,3,3],[6,4,2,4],[6,4,9,4]] 2result = [] 3for e in lst: 4 if all(x > 2 for x in e): 5 result.append(e) 6print(result) 7""" => 8[[5, 4, 3, 3], [6, 4, 9, 4]] 9"""

投稿2019/03/01 17:49

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

d1205cherish

2019/03/01 18:15

ありがとうございます.参考になります.消去したリストのリストの,リスト内のインデックスを知ることはできますか?
hayataka2049

2019/03/01 18:22

1.インデックス格納用の空リストをresultとは別に作る 2.for i, e in enumerate(lst):みたいにしてインデックスでもループできるように(enumerateの意味や挙動は知らなければ調べてください) 3.ifがTrueのときにresultに追加される挙動になっているので、削除したほうがほしければelse節を書き、iをインデックス格納用のリストに入れていく こんな感じでできるかと
d1205cherish

2019/03/01 20:04

ありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問