1

Python で名前によって ignore_list 内のすべての項目を無視したいと思います。たとえば、

fruit_list = ["apple", "mango", "strawberry", "cherry", "peach","peach pie"]
allergy_list = ["cherry", "peach"]
good_list = [f for f in fruit_list if (f.lower() not in allergy_list)]
print good_list

ピーチはアレルギーリストにあり、ピーチパイにはピーチが含まれているため、good_list で「ピーチパイ」も無視するようにしたいと思います :-P

4

3 に答える 3

2

あなたがする必要があるのは、このようなものを実装することだけです. 使用する予定の文字列のフォーマットによって異なりますが、この例では機能します。サンプルコードの最後に追加するだけです。今後の説明や、fruit_list のエントリの他の書式設定の処理方法については、お気軽にお問い合わせください。

good_list2=[]
for entry in good_list:
    newEntry=entry.split(' ')
    for split in newEntry:
        if not split in allergy_list:
             good_list2.append(split)

 print good_list2
于 2013-07-17T20:05:04.367 に答える
2

どうですか:

fruits = ["apple", "mango", "strawberry", "cherry", "peach","peach pie"]
allergies = ["cherry", "peach"]

okay = [fruit for fruit in fruits if not any(allergy in fruit.split() for allergy in allergies)]
# ['apple', 'mango', 'strawberry']
于 2013-07-17T20:05:40.337 に答える
1
>>> fruits = ["apple", "mango", "strawberry", "cherry", "peach","peach pie"]
>>> allergies = ["cherry", "peach"]
>>> [f for f in fruits if not filter(f.count,allergies)]
['apple', 'mango', 'strawberry']
>>>
于 2013-07-17T20:55:25.283 に答える