Str to str比较

时间:2013-07-18 15:32:51

标签: python dictionary conditional

为什么我不能在我的条件下使用字符串的比较?我在Python工作。

myjson =词典列表

if myjson[row]['languages'] == '' | myjson[row]['languages'] == 'english': pass
else: gen_dict['languages'].append(myjson[row]['languages'])

错误:

Traceback (most recent call last):
  File "/private/var/folders/jv/9_sy0bn10mbdft1bk9t14qz40000gn/T/Cleanup At Startup/gc_all_del_dup.txt-395854237.266.py", line 157, in <module>
    gen_nondup(f_l)
  File "/private/var/folders/jv/9_sy0bn10mbdft1bk9t14qz40000gn/T/Cleanup At Startup/gc_all_del_dup.txt-395854237.266.py", line 132, in gen_nondup
    if myjson[row]['languages'] == '' | myjson[row]['languages'] == 'english': pass
TypeError: unsupported operand type(s) for |: 'str' and 'str'

1 个答案:

答案 0 :(得分:4)

您应该使用or而不是|or是合乎逻辑的,|str不支持的位运算符。

我建议使用:if myjson[row]['languages'] in ['', 'english']: pass,它更快,更容易扩展。