首页 > 解决方案 > 用元组替换空列表

问题描述

给定一个元组列表,以下代码删除空列表并打印出剩余元素:

tuples=[[(16, 178)], [], [(46, 183)], [(15, 55)], [(42, 79)], [(54, 192)], [], [(2, 86)], []]

res = [ele for ele in tuples if ele != []]
print(res)

我现在想用 tuple 替换空列表[(0,0)]。但是,这一行给了我一个“无效的语法”错误:

res = [ele=[(0,0)] for ele in tuples if ele != []]

标签: pythonlisttuples

解决方案


您需要在理解中使用条件表达式:

res = [ele if ele else [(0,0)] for ele in tuples]

您也可以只使用or

res = [ele or [(0,0)] for ele in tuples ]

推荐阅读