python - 交叉连接两个 vector 的元素以产生第三个 vector

标签 python c++ r vector

我有 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/

相关文章:

python - 如何在 matplotlib 中绘制数据和函数之间的差异

c++ - CMake : softlink resource ( such as GLSL shaders ) or copy each complilation

c++ - 从 HANDLE 到 HINSTANCE 的无效转换(获取内核函数的地址)

c++ - Windows 10 标题栏不工作

performance - 为什么在 data.frame 中预先指定类型会更慢?

r - 匹配所有文件扩展名

python - 从运行 fedora 的系统为我的 python 应用程序创建 debian 包

python - 如何向类添加对十六进制函数的支持

json - 使用 rjson 处理 JSON

python - "TypeError: object of type ' NoneType ' has no len()"登录Webapp2 Auth示例代码后