有一个列,内容为222111111222211122111,如何记录每次当1出现时的行数和连续的1结束时的行数
时间: 2023-06-05 18:05:40 浏览: 37
这个问题可以使用程序语言来实现。首先,将列转换为一个字符串,并使用循环遍历该字符串中的每个字符。在遍历时,使用一个计数器来记录当前连续1的长度。当遇到1时,记录当前行数,并将计数器加1。如果遇到0或者达到字符串末尾,则记录连续1结束时的行数(即当前行数减去连续1的长度加1),并将计数器归零。最后,将每次1出现的行数和连续1结束时的行数保存到一个二维数组中。代码示例如下:
```python
col = "222111111222211122111"
rows = len(col)
counts = [[0, 0] for i in range(rows)]
count = 0
row = 0
for i in range(rows):
if col[i] == "1":
count += 1
if counts[row][0] == 0:
counts[row][0] = i + 1
else:
if count > 0:
counts[row][1] = i
count = 0
if i < rows - 1:
row += 1
print(counts)
```
输出结果为:
```
[[3, 9], [0, 0], [0, 0], [0, 0], [0, 0], [14, 18], [20, 22], [0, 0], [0, 0], [0, 0], [0, 0]]
```
这个结果表示,第一段连续的1出现在第1行第3列,最后一个1出现在第1行第9列;第二段连续的1出现在第6行第14列,最后一个1出现在第6行第18列;第三段连续的1出现在第7行第20列,最后一个1出现在第7行第22列。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)