如果拆分列表上的语句不起作用python3
Posted
技术标签:
【中文标题】如果拆分列表上的语句不起作用python3【英文标题】:If statement on split list not working python3 【发布时间】:2015-08-12 07:15:01 【问题描述】:我有一个正在通过 for 循环运行的列表。然后尝试将列表中的某些元素与 if 语句进行比较。我的问题是 if 语句不起作用。我已经打印了该值,但看不出它不应该进入if
语句的任何原因。我还执行了一个strip()
并将变量转换为一个不起作用的str(var)
。我认为它有一些我无法弄清楚的待办事项清单,请帮助
以下是我的部分代码。有问题的 if 语句是查找 VMWARE 的行
for i in PORTSB:
if i.startswith('CL'):
HOSTGRP_CMD = '/HORCM/usr/bin/raidcom get host_grp -port 0 -IH1|grep -v PORT'.format(i, HORCM)
HOSTGRP = subprocess.check_output([HOSTGRP_CMD], shell=True, universal_newlines=True).split()
for j in range(len(HOSTGRP)):
if HOSTGRP[j] == HOST:
PORTS.append([HOSTGRP[j - 2]])
HSD.append([HOSTGRP[j - 2] + '-' + HOSTGRP[j - 1]])
HSD_N.append([HOSTGRP[j]])
HOST_M.append([HOSTGRP[j + 2]])
if HOSTGRP[j + 2].strip() == 'WMWARE_EX':
HOST_MN.append([33])
elif HOSTGRP[j + 2].strip() == 'WMWARE':
HOST_MN.append([1])
elif HOSTGRP[j + 2].strip() == 'AIX':
HOST_MN.append([15])
elif HOSTGRP[j + 2].strip() == 'SOLARIS':
HOST_MN.append([9])
elif HOSTGRP[j + 2].strip() == 'WIN_EX':
HOST_MN.append([44])
elif HOSTGRP[j + 2].strip() == 'WIN':
HOST_MN.append([12])
elif HOSTGRP[j + 2].strip() == 'LINUX':
HOST_MN.append([0])
【问题讨论】:
你可能想要使用字典而不是那个 if-elif 块。 此代码可能需要进行一些重大清理;你想用它来完成什么? 【参考方案1】:您似乎将'VMWARE'
拼错为'WMWARE'
。您还有 'WMWARE_EX'
而不是 'VMWARE_EX'
。
【讨论】:
以上是关于如果拆分列表上的语句不起作用python3的主要内容,如果未能解决你的问题,请参考以下文章
GraphQL - 如果父返回类型是对象列表,则模式拼接上的模式委派不起作用
在 Jquery .html 替换新 div 上的整个 div 选择器后不起作用