以下是我的作業示例:
from itertools import zip_longest
test2 = ['register/adam/users_photo3.jpg', 'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/adam/users_photo3.jpg', 'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg']
test = ["justin","adam"]
filter_list = []
for p,q in zip_longest(test,list_of_files):
for r in list_of_files:
if str(p) in r:
filter_list.append(r)
testmain=[p for p,r in zip_longest(test2,filter_list) if str(r) not in str(p)]
print(testmain)
我想要測驗的相反輸出 url。需要作為輸出的示例“史蒂夫”網址!需要的輸出:輸出中需要的所有 steve url。
希望我澄清了自己并得到一些回應,謝謝。
uj5u.com熱心網友回復:
我不確定您為什么要壓縮名稱。你可以not any()用來測驗沒有匹配:
test2 = ['register/adam/users_photo3.jpg', 'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/adam/users_photo3.jpg', 'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg']
test = ["justin","adam"]
[url for url in test2 if not any(name in url for name in test)]
這會給你:
'[register/steve/users_photo1.jpg',
'register/steve/users_photo2.jpg',
'register/steve/users_photo1.jpg',
'register/steve/users_photo2.jpg']
如果test很長,這些可能是一些優化,但這應該適用于正常大小的輸入。
uj5u.com熱心網友回復:
我將使用串列理解以及re.search:
test2 = ['register/adam/users_photo3.jpg',
'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg',
'register/justin/users_photo2.jpg',
'register/adam/users_photo3.jpg',
'register/adam/users_photo4.jpg',
'register/justin/users_photo1.jpg',
'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg',
'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/justin/users_photo1.jpg', 'register/justin/users_photo2.jpg']
test = ["justin", "adam"]
regex = r'/(?:' '|'.join(test) r')/'
output = [x for x in test2 if not re.search(regex, x)]
print(output)
這列印:
['register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg',
'register/steve/users_photo1.jpg', 'register/steve/users_photo2.jpg']
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/479956.html
