你如何检查是否变量等于在python
我有一个线阵,在位置值5可以是下列值:你如何检查是否变量等于在python
"Tablespace Free Space (MB)", "Tablespace Space Used (%)"
如果line[5]
是任何这些,我需要做一些额外的工作。
我已经试过这样:
if (line[5] in ("Tablespace Space Used (%)")|("Tablespace Free Space (MB)"))
# some other code here
我不断收到此错误:
if (line[5] in ("Tablespace Space Used (%)"|"Tablespace Free Space (MB)"))
^
SyntaxError: invalid syntax
您使用==检查平等
4 == 2*2
True
要使用if语句,总结了该行 ':'
if line[5] in {'Tablespace Space Used (%)', 'Tablespace Free Space (MB)'}:
do x
为什么你使用'in'仍然不是''==? – 2015-02-11 22:51:44
没有看到OP的声明“,如果行[5]是任何这些我需要做一些额外的工作,“将修订 – 2015-02-11 22:55:02
当然,但为什么不使用会员的考验还在 – 2015-02-11 23:00:16
你就在你的if
语句的末尾缺少:
。
但是,你正在使用无效的语法测试过;它会导致运行时错误(TypeError: unsupported operand type(s) for |: 'str' and 'str'
)。你想创建一个元组,或一组字符串来测试对,不会使用|
:
if line[5] in ("Tablespace Space Used (%)", "Tablespace Free Space (MB)"):
或
if line[5] in {"Tablespace Space Used (%)", "Tablespace Free Space (MB)"}:
后者在技术上更有效,但如果你正在使用Python 2,其中该集没有被优化成元组将在任一版本的语言中的常量。使用{...}
创建一个集合需要Python 2.7或更高版本。
@martinPeiters。 ,我得到这个错误:如果线[5] { “表空间已用空间(%)”, “表空间可用空间(MB)”}: ^ 语法错误:无效的语法 – user1471980 2015-02-11 21:19:59
@ user1471980:Python版本您使用的是?'{...}'为集合需要Python 2.7或向上。 – 2015-02-11 21:22:44
你缺少一个':'在结束你的线。 – merlin2011 2015-02-11 21:08:32
您需要在if语句的末尾添加':'。例如:如果'(行[5]中( “用于表空间的空间(%)”, “表空间可用空间(MB)”):' – Andrew 2015-02-11 21:08:53
此外,关系或蟒是 “或”,而不是管 – sharjeel 2015-02-11 21:19:30