待压缩字符串为"AAABBBBCBB",则压缩的结果是(A,3)(B,4)(C,1)(B,2)。现要求根据输入的字符串,得到压缩后的结果(字符串不区分大小写,即所有小写字母均可视为相应的大写字母)。python 不使用def
时间: 2024-10-19 11:13:28 浏览: 23
C语言–压缩字符串
5星 · 资源好评率100%
在Python中,我们可以使用简单的字典和循环结构来实现这个功能,而不使用`def`函数。以下是一个示例代码:
```python
input_string = "aaabbbccbb".lower() # 转换为小写以便统一处理
counts = {} # 初始化计数字典
for char in input_string:
if char in counts:
counts[char] += 1
else:
counts[char] = 1
# 格式化成你所描述的元组列表
compressed_result = [(char, count) for char, count in counts.items()]
# 输出结果
output = ", ".join([f"({char}, {count})" for char, count in compressed_result])
print(f"压缩后的结果: {output}")
```
在这个代码中,我们首先将输入字符串转换为小写,然后遍历每个字符,计算其出现次数,并存储到`counts`字典中。最后,我们将字典内容转换为元组列表,并按照指定格式输出。
注意:如果需要输出`(A,3)`这样的大写字母形式,可以在输出前遍历一次压缩结果,将元组的第一个元素恢复为大写。
阅读全文