计算字符串列表中每个字符串中两个非零数字之间的数字的位数



我试图在字符串列表中计算每个字符串(包括两个数字)中两个非零数字之间的数字的位数。我这样做的意思是,我尽量不计算在其他0旁边的0,但计算在其他非0数之间的0。例如:

['', '', '000000000100111101', '', '', '0000112112111101011100000000001', '', '', '', '', '',]

在上面的字符串列表中,我不想从000000000100111101中计算000000000,只计算100111101所以我希望得到的预期输出是

[0 0 9 0 0 27 0 0 0 0 0]
我将非常感激任何人的帮助,谢谢你。

您可以简单地计算每个字符串的长度,0stripped的两端:

nums = ['', '', '000000000100111101', '', '', '0000112112111101011100000000001', '', '', '', '', '',]
[len(num.strip('0')) for num in nums]

输出:

[0, 0, 9, 0, 0, 27, 0, 0, 0, 0, 0]

最新更新