将列表按照指定的规则排序并添加平均值

简介: 将列表按照指定的规则排序并添加平均值

要将列表按照指定的规则排序并添加平均值,您可以使用Python的列表排序和统计函数来实现。以下是一种可能的解决方案:

from collections import defaultdict

a_list = [['黑色', 110], ['白色', 120], ['黑色', 113], ['红色', 121], ['白色', 111], ['白色', 102]]

# 创建一个字典来存储每个颜色对应的值列表
color_dict = defaultdict(list)

# 将值添加到对应颜色的列表中
for color, value in a_list:
    color_dict[color].append(value)

result = []

# 遍历字典中的每个颜色和对应的值列表
for color, values in color_dict.items():
    # 对值列表进行排序
    sorted_values = sorted(values)
    # 计算平均值
    average_value = sum(sorted_values) / len(sorted_values)

    # 将排序后的值列表添加到结果中
    for value in sorted_values:
        result.append([color, value])

    # 将平均值添加到结果中
    result.append([color, average_value])

# 打印结果
for item in result:
    print(item)

运行以上代码,您将得到所需的结果:

['黑色', 110]
['黑色', 113]
['黑色', 111.5]
['白色', 102]
['白色', 111]
['白色', 120]
['白色', 111.0]
['红色', 121]
['红色', 121.0]

注意,平均值是根据排序后的值列表计算得出的。

目录
相关文章
|
6月前
|
移动开发 HTML5
分组元素
分组元素。
39 3
|
1月前
排序列表
排序列表。
16 3
|
2月前
不排序列表
不排序列表。
30 5
|
6月前
|
Java 测试技术
统计满足条件的子集个数
统计满足条件的子集个数
43 0
|
iOS开发 索引
LeetCode--1773. 统计匹配检索规则的物品数量
给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。 另给你一条由两个字符串 ruleKey 和 ruleValue 表示的检索规则。 如果第 i 件物品能满足下述条件之一,则认为该物品与给定的检索规则 匹配 : ruleKey == "type" 且 ruleValue == typei 。 ruleKey == "color" 且 ruleValue == colori 。 ruleKey == "name" 且 ruleValue == namei 。 统计并返回 匹配检索规则的物品数量 。
81 0
|
索引 Python
LeetCode 599. 两个列表的最小索引总和
假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。
93 0
|
SQL 数据挖掘 关系型数据库
数据的分组与计算
对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节。在数据集准备好之后,通常就是计算分组统计或生成透视表。pandas 提供了一个灵活高效的 groupby 功能,使我们可以高效地对数据集进行操作。 关系型数据库和 SQL 能够如此流行的原因之一就是其能够方便地对数据进行连接、过滤、转换和聚合。但是,像 SQL 这样的查询语言所能执行的分组运算的种类很有限,而由于 pandas 强大的表达能力,我们可以执行复杂得多的分组运算。
133 0
Python list 按区间分组统计各组个数
Python list 按区间分组统计各组个数