我有 2 个 vector ,我想将一个 vector 分布到另一个 vector 中以形成第三个 vector ,例如:
V1 = (a,b,c)
V2 = (d,e,f)
结果:
V3 = (ad,ae,af,bd,be,bf,...cf) 'nine total elements
我知道的唯一方法是循环。我已经尝试搜索多种不同的方法,但找不到“一行代码”解决方案来避免循环。
如果我错过了,请指点我。我可能没有找到正确的搜索参数。
如果不可能,请免除我的痛苦并让我知道:,,,(。
如果有答案,请分享。
最佳答案
你没有说清楚 ab
操作是什么意思。我假设您要将两个实数相乘。
在 Python 中,您可以使用推导式。这是一个完整的代码片段。
v1 = (2, 3, 5)
v2 = (7, 11, 13)
v3 = tuple(x * y for x in v1 for y in v2)
v3
的值是
(14, 22, 26, 21, 33, 39, 35, 55, 65)
随心所欲。如果你想要一个 Python 列表,代码看起来更简单:使用
v3 = [x * y for x in v1 for y in v2]
如何将操作更改为连接或任何其他所需的操作将是显而易见的。以下是字符串连接的示例代码:
v1 = ('a', 'b', 'c')
v2 = ('d', 'e', 'f')
v3 = tuple(x + y for x in v1 for y in v2)
结果
('ad', 'ae', 'af', 'bd', 'be', 'bf', 'cd', 'ce', 'cf')
您也可以使用 itertools
模块中的 product()
(我在这个答案的第一个版本中使用过),但上面的方法似乎更简单。
关于python - 交叉连接两个 vector 的元素以产生第三个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44590195/