2017-02-20 46 views
-2

雖然我需要測試一個條件列表中是否存在某些字符串,但我總是得到相同的答案。無法在列表中找到字符串

像下面的列表中,我需要檢查字符串「無效」或「死」,如果發現打印的東西。

list = [u'\u25cf multi-user.target - Multi-User System\n', u' Loaded: loaded (/lib/systemd/system/multi-user .target; static; vendor preset: enabled)\n', u' Active: active since Mon 2017-02-20 20:58:28 HKT; 1h 20min ago\n ', u'  Docs: man:systemd.special(7)\n', u'\n', u'Feb 20 20:58:28 ubuntu systemd[1]: Reached target Multi-User S ystem.\n'] 

代碼:

if 'Inactive' or 'Dead' in list: 
    print "Service not active" 

試過輸出澆注到一個文件中,變量等,但似乎沒有任何工作。已經通過網絡解決了問題,但沒有運氣。請幫忙。

+5

該條件沒有做你認爲它在做什麼 – depperm

+1

'如果'Inactive'或'Dead'在列表中:'**不意味着'如果'Inactive'在列表中或'Dead'在列表中:'並且總是返回'真',因爲'bool('Inactive')= True' –

+1

'如果有的話(我在列表中爲[in''Inactive','Dead']):'是你可以使用的。請參閱上面的鏈接,看看爲什麼你目前的狀況是錯誤的。 – CoryKramer

回答

0

你必須逐個檢查每個項目,如果它不是一個100%匹配 即

for x in list: 
    if whatever in x: 
     print("found whatever") 

此外,你應該選擇比「列表」等不同的名稱,因爲它陰影內置的列表

相關問題