You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中指定索引字符串拼接及排列应用的高效实现方案问询

问题描述

我有一个字符串列表(或NumPy数组),例如X = ['abc', 'def', 'ghi', 'jkl'],一组索引J = [0, 3],以及一个随机排列p = [0, 3, 2, 5, 1, 4]。需要完成两个核心步骤:

  • 第一步:拼接X中对应J索引的字符串,示例中拼接X[0]和X[3]得到'abcjkl';
  • 第二步:对拼接后的字符串应用排列p,按照规则Z[i] = Y[p[i]](Y为拼接后的原字符串,Z为最终结果)得到'ajclbk'。

实际应用场景的规模极大:X包含1000万个长度为1000的英文字符串,J长度为500万,p长度可达50亿。

当前实现代码

我目前基于NumPy数组的实现代码如下:

import numpy as np
X = np.array(['abc', 'def', 'ghi', 'jkl'])
J = np.array([0, 3])
p = np.array([0, 3, 2, 5, 1, 4])
Y = ''.join(X[J])
Z = np.array(list(Y))
res = ''.join(Z[p])

优化疑问

是否存在时间效率更优的实现方式?我不局限于使用NumPy数组,也可以采用列表实现。

内容的提问来源于stack exchange,提问作者ProAmateur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:48:16