gpt4 book ai didi

"condense"矩阵的 Pythonic 方式

转载 作者:行者123 更新时间:2023-12-04 00:49:03 26 4
gpt4 key购买 nike

如果我有以下矩阵,输入格式是列表的列表:

<表类="s-表"><头>BTE<正文>010011021120

如何构建以下 python 矩阵:

       0     1
D = [[{1}, {1,2}], 0
[{2}, {}]] 1

在 D 的元素中,将 (B,E) 对与其各自的 T 合并。例子:(0,1)在上面的矩阵中,有T = 1和T = 2,所以在D矩阵中它应该是一个集合{1,2}。由于没有 (1,1) 对,它应该是一个空集 {}。

如何以“pythonic”方式做到这一点?

最佳答案

你可以使用collections.defaultdict:

from collections import defaultdict
m = [[0, 1, 0], [0, 1, 1], [0, 2, 1], [1, 2, 0]]
d = defaultdict(dict)
for b, t, e in m:
d[b][e] = [t] if e not in d[b] else [*d[b][e], t]

l = {i for b in d.values() for i in b}
result = [[set(k.get(j, [])) for j in l] for k in d.values()]
print(result)

输出:

[[{1}, {1, 2}], 
[{2}, set()]]

关于 "condense"矩阵的 Pythonic 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67961530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com