如何统计列表中指定前缀的元素数量并生成格式化输出语句?
实现统计与格式化输出的方案
首先,你可以先收集所有符合条件的州名到一个列表中,之后基于这个列表完成数量统计和格式化语句的输出,具体代码如下:
# 假设states_of_america是已定义的州名列表 states_of_america = ["阿拉巴马州", "阿拉斯加州", "亚利桑那州", "阿肯色州", "加利福尼亚州"] # 示例数据 a_states = [] for phrase in states_of_america: words = phrase.split() try: if words[0].upper().startswith("A"): a_states.append(phrase) except IndexError: pass # 处理格式化输出 count = len(a_states) if count == 0: print("没有以A开头的州") elif count == 1: print(f"有1个以A开头的州:{a_states[0]}") else: # 拼接前n-1个元素,最后一个用“和”连接 joined_states = "、".join(a_states[:-1]) + "和" + a_states[-1] print(f"有{count}个以A开头的州:{joined_states}")
代码说明:
- 收集符合条件的州:创建空列表
a_states,遍历过程中把符合条件的州名添加进去,替代原来直接打印的逻辑,方便后续统计和拼接。 - 统计数量:用
len(a_states)直接获取符合条件的州的数量。 - 格式化输出处理:
- 当数量为0时,输出提示无符合条件的州;
- 数量为1时,直接输出唯一的州名;
- 数量大于1时,用
join拼接前count-1个州名,最后用“和”连接最后一个元素,符合中文表达习惯。
内容的提问来源于stack exchange,提问作者Oran Kelly
相关产品推荐
相关产品推荐

