[英]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.