我有一个hive查询,它以下面的方式获取store_front_id和失败记录的数量
res = ['143460\t45', '143441\t477']
其中,商店前端ID是第一个,后面是制表符分隔和失败记录计数。 现在,当我没有任何失败记录计算时," res"是空的。
我有store_front_list,其值类似于
store_front_list=['143460','143441']
我正在检查
if len(res) == 0:
现在我必须像这样硬编码值
res = ['143460\t0', '143441\t0']
它将从商店前面的列表中读取商店前面的ID并附加0后跟一个标签。 我该怎么做。
答案 0 :(得分:0)
因此,您需要结果包含所有商店前端ID,无论其失败次数是否为0。您可以将store_front_list
转换为集合,并从集合中删除失败的项目。保留在该集合中的项目未被授予,并且可以附加到res
附加到\t0
:
def append_unfailed(res):
unfailed = set(store_front_list)
for r in res:
store_front_id, failcnt = s.split('\t')
unfailed.discard(store_front_id)
for store_front_id in unfailed:
res.append('%s\t0' % store_front_id)