You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

追加元素后如何仅打印一次列表?有无无需迭代统计列表中'C'数量的方法?

问题解答

1. 调整为追加完成后仅打印一次list1

你当前代码每次append后都会打印列表,是因为print(list1)语句放在了if判断的缩进块内,每匹配到一个'C'就会执行一次打印。只需将print语句调整到和for循环同级,等所有追加操作完成后再执行即可。

注意:不要使用list作为变量名,会覆盖Python内置的列表类型关键字,后续调用列表相关方法会出现异常,这里我们将原变量名修改为origin_tuple。

修正后代码如下:

origin_tuple = ('S', 'S', 'C', 'R', 'C', 'R', 'S', 'C', 'C', 'R', 'S', 'C', 'S', 'S', 'R', 'C', 'R', 'C', 'C', 'S', 'R')
list1 = []
for i in origin_tuple:
    if i == 'C':
        list1.append('C')
# 打印语句放在for循环外,仅执行一次
print(list1)

2. 无需遍历统计'C'总数量的方法

Python的所有序列类型(包括你用到的元组、列表)都内置了count()方法,可以直接返回指定元素的总出现次数,不需要手动写遍历逻辑:

  • 如果要直接统计原元组中的'C'数量,连构建list1的步骤都可以省略,直接调用:origin_tuple.count('C')即可得到结果
  • 如果你已经构建了全为'C'的list1,除了可以调用list1.count('C')外,直接使用len(list1)也能得到'C'的总数量,只要将len()的调用和打印逻辑放在循环外,就不会出现每轮迭代都输出长度的问题。

使用示例:

# 直接统计原数据的'C'总数量
c_total = origin_tuple.count('C')
print(c_total)

内容的提问来源于stack exchange,提问作者user17011190

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:36:05