[英]Reduce array and why if comparison does not work with or
我創建了一個程序,該程序讀取VPN輸出,並返回不加密的加密映射,但是我在以下方面有所擔心:
(1)可以減少此數組:
h.write(all_vpns[n-5]+all_vpns[n-4]+all_vpns[n-3]+all_vpns[n-2]+all_vpns[n-1]+all_vpns[n]+all_vpns[n+1]+"\n\n")
像
all_vpns[n-5]:all_vpns[n+1] or all_vpns[n-5]-all_vpns[n+1]
(2)我曾經使用過一個函數來刪除文件中的所有行,當if語句中只有一個規則但當我添加2條規則不起作用時,該函數會很好地工作:
with open(in_filename) as infile, open("clean_vpn.txt", "w") as outfile:
for line in infile.readlines():
if line!='\n':
outfile.write(line)
如果在,如果我添加另一個參數,它不起作用
if line!='\n' or line!=' \n':
有人知道為什么“或”不起作用,但是正如我前面提到的,如果我只有一個自變量對該語句有效,但對“或”都不起作用?
(1)您可以這樣寫:
h.write(''.join(all_vpns[n-5:n+2])+'\n\n')
(2) if
in if line!='\\n' or line!=' \\n'
將始終為True
。 由於or
。 讓我們檢查一下line
一些值
line
為\\n
,則第一個條件失敗,但第二個條件成功。 line
為' \\n'
,則第一個條件成功。 line
是其他任何東西,則兩個條件都成功。 因此,如果您放置or
,則根本沒有條件。 我認為您應該使用and
而不是or
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.