把[2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18]列表里面所有相邻相差1多段元素提取处理
时间: 2023-10-30 21:08:07 浏览: 42
可以使用Python中的itertools模块中的groupby函数来实现该功能。具体实现代码如下:
```python
from itertools import groupby
lst = [2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18]
result = []
for k, g in groupby(enumerate(lst), lambda x: x[0]-x[1]):
result.append(list(map(lambda x: x[1], g)))
print(result)
```
输出结果为:
```
[[2], [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], [18]]
```
解释:首先使用enumerate函数将列表中的元素转换为带有索引的元组,然后使用groupby函数将相邻元素之间的差值为1的元素分组,最后将每个分组中的元素提取出来并存储到result列表中。
相关问题
如何增加一列0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
你可以使用 Pandas 库来创建一个从 0 到 15 的整数索引的新列,例如:
```
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': ['a', 'b', 'c', 'd']})
# 添加新列
df['new_column'] = pd.DataFrame(range(16))
# 打印结果
print(df)
```
这段代码会输出以下的 DataFrame :
```
A B new_column
0 1 a 0
1 2 b 1
2 3 c 2
3 4 d 3
```
本例中,您创建了一个包含两列的 DataFrame,然后使用 range() 函数生成一个从 0 到 15 的整数列表,并将其作为一个新列添加到 DataFrame 中。
方针输出 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 的C语言代码
以下是方针输出 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 的C语言代码:
```c
#include <stdio.h>
int main() {
int i;
for (i = 16; i >= 1; i--) {
printf("%d ", i);
}
printf("\n");
return 0;
}
```
输出结果为:
```
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
```
阅读全文