gpt4 book ai didi

python - 如何在python中以键值对的形式打印数组?

转载 作者:太空宇宙 更新时间:2023-11-03 14:01:26 25 4
gpt4 key购买 nike

我有一个数组集合,例如

 a = [array([0, 1, 2, 3, 4]) array([0, 1, 2, 3]) array([0, 1, 2, 3, 4])
array([0, 1, 2, 3, 4, 5, 6, 7, 8]) array([0, 2, 3, 4, 5, 8, 9])

有没有办法以键值对的形式显示这个结果

[[(0),(1,2,3,4)],[(1),(0,2,3)],[(2),(0,1,3,4)],[(3),(0,1,2,4,5,6,7,8)]
[(4),(0,2,3,5,8,9)]]

i 将在键中增加 1,并且该值将不包含在值列表中

<小时/>

我尝试了这样的方法,但无法将其放入所需的形式。

c = [id for id in b if id != i] for i, b in enumerate(a)]

最佳答案

使用 enumerate 进行列表理解是一种方法。请注意每个单项键后面的逗号。这表示对象类型是长度为 1 的元组

from numpy import array

a = [array([0, 1, 2, 3, 4]), array([0, 1, 2, 3]), array([0, 1, 2, 3, 4]),
array([0, 1, 2, 3, 4, 5, 6, 7, 8]), array([0, 2, 3, 4, 5, 8, 9])]

res = [[(i,), tuple(j for j in arr if j != i)] for i, arr in enumerate(a)]

# [[(0,), (1, 2, 3, 4)],
# [(1,), (0, 2, 3)],
# [(2,), (0, 1, 3, 4)],
# [(3,), (0, 1, 2, 4, 5, 6, 7, 8)],
# [(4,), (0, 2, 3, 4, 8, 9)]]

或者,您可以创建一个字典:

res_dict = {i: tuple(j for j in arr if j != i) for i, arr in enumerate(a)}

# {0: (1, 2, 3, 4),
# 1: (0, 2, 3),
# 2: (0, 1, 3, 4),
# 3: (0, 1, 2, 4, 5, 6, 7, 8),
# 4: (0, 2, 3, 4, 8, 9)}

关于python - 如何在python中以键值对的形式打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49220538/

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