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

如何将Python循环中临时变量k的所有取值整理为列表?

解决方法

你可以通过以下几种方式将所有分数整理成一个列表:

方法一:嵌套循环构建列表

直接遍历字典中的每个分数列表,将每个分数添加到新列表中:

marks = {"Farah":[20,40,50,33],"Ali":[45,38,24,50],"Sarah":[50,43,44,39]}
all_marks = []
for scores in marks.values():
    for score in scores:
        all_marks.append(score)
print(all_marks)  # 输出: [20, 40, 50, 33, 45, 38, 24, 50, 50, 43, 44, 39]

方法二:列表推导式(简洁写法)

用Python的列表推导式一行完成,逻辑和嵌套循环一致:

marks = {"Farah":[20,40,50,33],"Ali":[45,38,24,50],"Sarah":[50,43,44,39]}
all_marks = [score for scores in marks.values() for score in scores]
print(all_marks)

方法三:使用itertools.chain(高效处理大量数据)

如果需要处理大量数据,itertools.chain可以避免创建中间列表,提升效率:

import itertools

marks = {"Farah":[20,40,50,33],"Ali":[45,38,24,50],"Sarah":[50,43,44,39]}
all_marks = list(itertools.chain.from_iterable(marks.values()))
print(all_marks)

注:原代码中的for key,value in marks.items()没有实际作用,因为内层循环直接遍历了marks.values(),可以去掉这层循环以优化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:36:27