我有一个嵌套列表(列表的列表),每个子列表可能包含一个或多个元素(整数),但有些甚至是空的:
mynestedlist = [[], [], [], [4,10], [4], [10]]
此外,我还有另一个与之同长度的列表(全部为整数):
otherlist = [2,4,14,32,21,12]
现在我想获得一个组合列表,其中嵌套列表元素不为空。实际上,每个元组应包含两个列表中的元素。 例如,
mynestedlist
中第一个非空列表是第四个,即[4,10]
。另一个列表中对应的元素是32。这些信息应该转换为两个元组 (32,4)
和 (32,10)
。因此,如果子列表中有多个条目,则应创建多个元组。
最后输出应为 [(32,4),(32,10),(21,4),(12,10)]
。如何以有效的方式完成此操作?所以我尝试过的是检查子列表是否为空,使用子列表之和。
[sum(x)>0 for x in mynestedlist]
*) 将这两个列表合并成一个字典
combined_list = dict(zip(otherlist,mynestedlist))
我不确定这是否是正确的方法?