如何将这段Python循环代码改写为一行代码?
首先修正原始代码逻辑问题
你给出的原始代码存在逻辑漏洞:遍历line字符串的每个字符时,判断条件错误使用了整个字符串line作对比,实际应该判断当前迭代到的单个字符是否为t。以下基于「统计line中t的数量存入t变量,其余字符数量存入s变量」的预期逻辑给出一行实现方案:
实现方案
- 方案1:写法最简洁易读,无需额外导入依赖,适合绝大多数场景
t, s = line.count('t'), len(line) - line.count('t')
- 方案2:仅遍历一次字符串,性能更高,Python 3.8及以上版本支持
t = s = 0; for c in line: t += 1 if c == 't' else s += 1
内容的提问来源于stack exchange,提问作者Vivek Upadhyay
相关产品推荐
相关产品推荐

