首页 > 解决方案 > 如果条件与或在python

问题描述

如果我有包含 Null 空字符串和某个值的列表,那么我可以对空值和值使用条件。在我的情况下,如果我用来检查“89”和“Null”,它不会处理值消息,而是显示空值无法处理。应针对值而不是针对 Null 条件处理值。

payload=[{'id': 'Room1',
'pressure': {'metadata': {}, 'type': 'Number', 'value': 'Null'},
`'temperature':{'metadata': {}, 'type': 'Number', 'value': '89`'},
'type': 'RoomTest'}]

attrs=['temperature','pressure']
x=(len(payload))
for i in range(x):
for j in attrs:
        y=payload[i][j]['value']
        print(y)
        for item in y:
            print(item)
            if item is ["Null", ""]:
               print("empty value can not processed")
            if item is not["Null",""]:
               print("successfully processed for value")

我也尝试过使用“任何”但仍然是相同的结果。提前致谢。

标签: python-3.x

解决方案


你可以这样做

payload=[{'id': 'Room1',
'pressure': {'metadata': {}, 'type': 'Number', 'value': 'Null'},
'temperature':{'metadata': {}, 'type': 'Number', 'value': '89'},
'type': 'RoomTest'}]

attrs=['temperature','pressure']
for item in payload:
  for attr in attrs:
    value = item[attr]['value']
    if value in ["Null", ""]:
        print("empty value can not processed")
    else:
        print("successfully processed for value")

推荐阅读