如:[1,2,3,4,6,8,9] 应输出: 1-4,6,8-9 python编写
时间: 2023-09-29 11:11:15 浏览: 31
代码如下:
```python
def format_list(lst):
res = []
i = 0
while i < len(lst):
j = i
while j < len(lst) - 1 and lst[j+1] == lst[j] + 1:
j += 1
if j == i:
res.append(str(lst[i]))
else:
res.append(str(lst[i]) + '-' + str(lst[j]))
i = j + 1
return ','.join(res)
lst = [1,2,3,4,6,8,9]
print(format_list(lst)) # 输出:1-4,6,8-9
```
思路说明:
定义一个 `format_list` 函数,用于将列表格式化成要求的格式。具体实现如下:
1. 初始化结果列表 `res` 和当前索引 `i`。
2. 循环遍历列表,对于每个元素,找到它所在的连续区间的结束位置 `j`。
3. 如果当前元素不在连续区间中,将其转换为字符串并添加到结果列表中。
4. 否则,将区间起始元素和结束元素用 `-` 连接成字符串,并添加到结果列表中。
5. 将索引 `i` 更新为 `j+1`。
6. 最后将结果列表中的元素用 `,` 连接成一个字符串,并返回。
这样就可以得到要求的输出格式了。
相关问题
python列表[6:-4:-1]表示什么
这是一个Python列表切片(Slicing)操作,表示从下标为6的元素开始,到下标为-4的元素为止(不包括下标为-4的元素),步长为-1(即反向遍历)。
需要注意的是,当步长为负数时,起始位置(左侧位置)应该在结束位置(右侧位置)的右边。否则,返回的将是一个空列表。因此,`[6:-4:-1]`是一个有效的切片操作,而`[6:-4:1]`则会返回一个空列表。
下面是一个例子:
```python
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sliced_list = my_list[6:-4:-1]
print(sliced_list)
```
输出结果为:
```
[7, 6, 5]
```
这里的切片操作将从下标为6的元素(即数字7)开始,反向遍历到下标为-4的元素(不包括下标为-4的元素,即数字1),返回的列表中只包含数字7、6和5。
python列表[6:4:-1]表示什么
这是一个Python列表切片(Slicing)操作,表示从下标为6的元素开始,到下标为4的元素为止(不包括下标为4的元素),步长为-1(即反向遍历)。
需要注意的是,当步长为负数时,起始位置应该在结束位置的右边,否则将返回一个空列表。因此,`[6:4:-1]`是一个有效的切片操作。
下面是一个例子:
```python
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sliced_list = my_list[6:4:-1]
print(sliced_list)
```
输出结果为:
```
[7, 6]
```
这里的切片操作将从下标为6的元素(即数字7)开始,反向遍历到下标为4的元素(不包括下标为4的元素,即数字5),返回的列表中只包含数字7和6。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)