質問: ### 前提・実現したいこと pythonの初心者です。 今、pythonの練習をしています。 ``` asa=[('Q', 'あ'),('X', 'あ'),('C', 'い')] ``` この配列(リスト)を抽出して新しいリストを作りたいんです。 作業1 配列(リスト)の右側(2列目)が "い" であるものをリストごと削除 [('Q', 'あ'), ('X', 'あ'), ('C', 'い')] ↓↓ [('Q', 'あ'), ('X', 'あ')] 作業2 二列目を全て消す。 [('Q', 'あ'), ('X', 'あ')] ↓↓ [('Q', 'X')] 作業3 カッコを消す。 [('Q','X')] ↓↓ ['Q','X'] このようなやり方でするべきだと考えました。 どのようなコードがいいのでしょうか? ご教授いただけますと助かります。 ### ネット 1時間ほどネットで検索をしていたのですが、 ネットには [['aa','a'],,,,] このような形のものは出てくるんですが、()の中にあるものは書かれていなかったんです。 ちなみにネットを見てすると失敗しました。 ### 試したもの ``` asa=[('Q', 'あ'), ('X', 'あ'), ('C', 'い')] asa_1=asa['い'][2] ``` とすると、、、 TypeError: list indices must be integers or slices, not tuple もう手も足もでません。 ### バージョン python3
回答: 「リスト内包」でググってみるといいと思います。 ``` [ x[0] for x in asa if x[1] != 'い' ] ```