如何使用python计算嵌套列表中字符串的0并打印其索引

2024-04-20 08:39:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想返回嵌套列表(如下面的列表)中的零计数

 lista = [['0000', '', ''], ['', '', '000', ''], ['000', '0', ''], ['', '', '00', '', '']]

对于该列表,它应返回:

                               [[[4, 0], [0, 1], [0, 2]],
                                [[0, 0], [0, 1], [3, 2], [0, 3]],
                                [[3, 0], [1, 1], [0, 2],
                                [[0, 0], [0, 1], [2, 2], [0, 3]]

就是每个字符串的零计数加上索引。。。 做这件事的最具Python风格的方式是什么


2条回答

只要简单的循环和计数就可以了

nums = [['0000', '', ''], ['', '', '000', ''], ['000', '0', ''], ['', '', '00', '', '']]

result = []
for num in nums:
    counts = [[el.count('0'), i] for i, el in enumerate(num)]
    result.append(counts)

print(result)

如果列表只包含空字符串和0字符串,那么这应该可以工作

result = [
    [(len(element), index) for index, element in enumerate(sub_lst)]
    for sub_lst in lista
]

相关问题 更多 >