gpt4 book ai didi

python - 从向量列表中,仅从每个向量中提取一列

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

给定一个向量列表:

[((0, 2.6147858445098677), (1, 1.0257184186249431)), ((0, 2.6147858445098677), (2, 0.34113605903013322)), ((0, 2.6147858445098677), (3, 0.074196986667672063)), ((1, 1.0257184186249431), (2, 0.34113605903013322)), ((1, 1.0257184186249431), (3, 0.074196986667672063)), ((2, 0.34113605903013322), (3, 0.074196986667672063))]

如何只提取每个向量中的第一个条目?

[(0, 1), (0,2), (0, 3), (1, 2), (1,3), (2, 3)]

最佳答案

可以只使用列表理解。每个项目都是一个包含两个元组的元组,因此我们可以像这样解析出每个内部元组的第一个项目:

x = [((0, 2.6147858445098677), (1, 1.0257184186249431)), ((0, 2.6147858445098677), (2, 0.34113605903013322)), ((0, 2.6147858445098677), (3, 0.074196986667672063)), ((1, 1.0257184186249431), (2, 0.34113605903013322)), ((1, 1.0257184186249431), (3, 0.074196986667672063)), ((2, 0.34113605903013322), (3, 0.074196986667672063))]
result = [(item[0][0], item[1][0]) for item in x]
print(result)

输出:

[(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3)]

随心所欲。这是非常 C 风格的,如果你愿意,你可以获得更多的 Pythonic 并使用元组解包:

result = [(first[0], second[0]) for  first, second in x]

这更容易理解/阅读。

关于python - 从向量列表中,仅从每个向量中提取一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377496/

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