二维列表如何快速分组,不依赖 pandas
在不使用 pandas 的情况下,快速对二维列表进行分组是一个常见问题。现在让我们探讨一种有效的方法:
为了按照组名对列表进行分组并保持顺序,我们可以使用自定义函数:
def group_name_fun(lst): last = '' arr = [] for ii in range(len(lst)): if not lst[ii][0] == last: arr.append(ii) last = lst[ii][0] arr.append(len(lst)) lst = [lst[arr[ii - 1]:arr[ii]] for ii in range(1, len(arr))] return lst
登录后复制
对于大数组,出于效率考虑,建议采用另一种方法:
import itertools def group_large_array(data): grouped_data = {} for key, group in itertools.groupby(data, lambda x: x[0]): grouped_data[key] = [item[1] for item in group] # 转换为列表形式 result = [grouped_data[key] for key in grouped_data] return result
登录后复制
该方法使用 itertools.groupby 依次对数据进行分组,并通过列表推导式将每组提取出来,从而有效地减少了内存占用并提高了效率。
以上就是不依赖Pandas,如何快速分组二维列表?的详细内容,更多请关注抖狐科技其它相关文章!
-
碧蓝档案国服卡池顺序
1、3.8-3.222、3.22-4.53、4.5-4.194、4.19-5.35、5.3-5.76、5.17-5.317、5.31-6.148、6.14-6.289、6.18-7.1210、7.12...
-
怎么共享好友的优酷会员
优酷会员支持最多5个家庭成员共享,步骤如下:创建家庭成员账号邀请好友共享好友接受邀请即可共享会员权益如何共享好友的优酷会员 方法: 1. 了解优酷会员共享规则:优酷会员仅支持最多 5 个家庭成员共享。...
-
win7怎么禁止拷贝
禁用 windows 7 中的复制限制:打开组策略编辑器(gpedit.msc)。导航到“计算机配置 → 管理模板 → windows 组件 → windows 资源管理器”。双击“禁止复制”策略并选...
-
如何使用命令连接db2
通过执行以下步骤即可使用命令行连接 db2:打开命令提示符或终端窗口。输入命令:db2 connect to user using 断开连接:输入 db2 disconnect。使用命令连接 db...
-
如何在 React 应用程序中嵌入带预览的链接
介绍构建 web 应用程序时,显示链接内容的预览通常很有用,就像社交媒体平台在共享 url 时如何显示链接预览一样。因此,除了 url 文本之外,您还可以在 url 旁边显示图片和描述等信息。在这篇文...