90714


下記のリストを複数条件で削除していますが、他に簡潔な方法はないでしょうか。  
removeで値を指定して削除できるのは知っていますが、  
リストの要素毎回変化するので、リストの番号を指定してスライスの方法で削除しております。

毎回削除する際にdel 〇〇を指定しないといけないので、簡潔に削除できる方法があれば  
教えていただけますか。

お手数ですが、よろしくお願い致します。

リスト名  
＊リストの要素毎回変化します。

[code]

    list_a = ['ケーキ','りんご','アイス','みかん','どらやき','おはぎ']
    
[/code]

全体のコード

[code]

    # リスト
    list_a = ['ケーキ','りんご','アイス','みかん','どらやき','おはぎ']
    
    # 毎回スライスしたい値を指定
    del list_a[0:1]
    print(list_a)
    
    del list_a[4]
    print(list_a)
    
    del list_a[2]
    print(list_a)
    
    ['りんご', 'アイス', 'みかん', 'どらやき', 'おはぎ']
    ['りんご', 'アイス', 'みかん', 'どらやき']
    ['りんご', 'アイス', 'どらやき']
    
[/code]


CC BY-SA 4.0
2022-08-23T03:46:14.647
90705
2022-08-23T06:47:01.460
2022-08-23T04:11:31.607
3060
18859
question
python python3
Python リストの要素を複数条件で削除したい


リストの要素の順番が不定で構わないのであれば、単純なリスト (配列) の代わりに辞書を使った方が分かりやすくなりそうです。

[code]

    dessert = {
      'ケーキ':1,
      'りんご':1,
      'アイス':1,
      'みかん':1,
      'どらやき':1,
      'おはぎ':1,
    }
    
    # 要素の削除
    del dessert['ケーキ'], dessert['みかん'], dessert['おはぎ']
    
    # キーの一覧を取得
    print(dessert.keys())
    
[/code]

参考:  
[Pythonで辞書の要素を削除するclear, pop, popitem, del](https://note.nkmk.me/python-dict-
clear-pop-popitem-del/)  
[辞書に含まれるすべてのキーを取得する](https://www.javadrive.jp/python/dictionary/index8.html#section1)


CC BY-SA 4.0
2022-08-23T04:57:33.333
90708
2022-08-23T04:57:33.333
3060
90705
answer


削除したい要素が何かわかっている場合

[code]

    list_a = ['ケーキ','りんご','アイス','みかん','どらやき','おはぎ']
    del_item = 'ケーキ','みかん','おはぎ'
    list_a = [s for s in list_a if s not in del_item]
    print(list_a)  # ['りんご', 'アイス', 'どらやき']
    
[/code]

削除したい要素の番号が何かわかっている場合

[code]

    list_a = ['ケーキ','りんご','アイス','みかん','どらやき','おはぎ']
    del_idx = 0, 3, 5
    list_a = [s for i,s in enumerate(list_a) if i not in del_idx]
    print(list_a)  # ['りんご', 'アイス', 'どらやき']
    
[/code]


CC BY-SA 4.0
2022-08-23T06:47:01.460
90714
2022-08-23T06:47:01.460
41756
90705
answer