Python 案例:统计脚后跟传球成功次数
下面我用一个完整的案例来演示如何统计足球比赛中"脚后跟传球"的成功次数。

场景说明
- 每次传球有:传球方式(脚后跟/普通)、结果(成功/失败)
- 我们需要统计脚后跟传球且成功的次数
基础字典/列表统计
# 模拟比赛传球数据
passes = [
{"type": "脚后跟", "result": "成功"},
{"type": "普通", "result": "成功"},
{"type": "脚后跟", "result": "失败"},
{"type": "脚后跟", "result": "成功"},
{"type": "普通", "result": "失败"},
{"type": "脚后跟", "result": "成功"},
]
# 统计脚后跟传球成功次数
count = 0
for p in passes:
if p["type"] == "脚后跟" and p["result"] == "成功":
count += 1
print(f"脚后跟传球成功次数:{count}") # 输出:3
使用 sum() 一行流
count = sum(1 for p in passes
if p["type"] == "脚后跟" and p["result"] == "成功")
print(count) # 3
使用 collections.Counter(推荐)
适合同时统计多种传球方式的成功/失败情况:
from collections import Counter
# 只统计"成功"的传球,按类型分组
counter = Counter(
p["type"] for p in passes if p["result"] == "成功"
)
print(counter) # Counter({'脚后跟': 3, '普通': 1})
print("脚后跟成功次数:", counter["脚后跟"]) # 3
用 Pandas 处理真实数据(实战推荐)
真实比赛数据通常有几百上千条,用 Pandas 更方便:
import pandas as pd
df = pd.DataFrame(passes)
print(df)
# 筛选:脚后跟 + 成功
heel_success = df[(df["type"] == "脚后跟") & (df["result"] == "成功")]
print("脚后跟传球成功次数:", len(heel_success)) # 3
# 更全面:统计每种传球方式的成功/失败分布
print(df.groupby(["type", "result"]).size())
输出:
type result
普通 失败 1
成功 1
脚后跟 失败 1
成功 3
封装成函数(工程化)
def count_heel_success(passes):
"""统计脚后跟传球成功次数"""
return sum(
1 for p in passes
if p.get("type") == "脚后跟" and p.get("result") == "成功"
)
print(count_heel_success(passes)) # 3
关键点小结
| 方法 | 适用场景 |
|---|---|
| for 循环 | 教学入门、逻辑清晰 |
sum() + 生成器 |
一行简洁、避免中间变量 |
| Counter | 需要同时统计多个类别 |
| Pandas | 数据量大、需要分组分析 |
如果你有真实的比赛数据(CSV / Excel / API 格式),告诉我字段名,我可以帮你改成直接读取文件统计的版本 👍
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播