- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经能够这样连接字符串了:
string_right = list(range(1,100))
string_left = ['AAA','BBB', "CCC"]
combination = []
for i in headers_right:
merged1 = string_left[0] + ' ' + str(i)
merged2 = string_left[1] + ' ' + str(i)
merged3 = string_left[2] + ' ' + str(i)
combination.append(merged1)
combination.append(merged2)
combination.append(merged3)
有没有更有效的方法呢?我想避免 for 循环。我在考虑像 zip 或 enumerate 这样的东西,但它们似乎创建元组而不是连接字符串。
结果应该是这样的:
['AAA1','BBB1', "CCC1", 'AAA2','BBB2', "CCC2",...,'AAA100','BBB100', "CCC100"]
提前致谢!
最佳答案
您可以使用 itertools.product为此,它实质上给出了两个列表的笛卡尔积,然后我们从该积中取出每个元素,并将两个元素连接起来。
例如
In [2]: from itertools import product
In [1]: string_right = range(1,3)
...: string_left = ['AAA','BBB', "CCC"]
In [3]: list(product(string_left, string_right))
Out[3]: [('AAA', 1), ('AAA', 2), ('BBB', 1), ('BBB', 2), ('CCC', 1), ('CCC', 2)]
此外,如果我们使用这种方法,我们不需要将 range
转换为列表,因为 itertools.product
将迭代器作为输入
from itertools import product
string_right = range(1,100)
string_left = ['AAA','BBB', "CCC"]
#Take cartesian product of the two lists, and join elements together of each tuple
print([ '{}{}'.format(j,i) for i,j in product(string_right,string_left)])
输出将是
['AAA1', 'BBB1', 'CCC1', 'AAA2', 'BBB2', 'CCC2', 'AAA3', 'BBB3', 'CCC3', 'AAA4', 'BBB4', 'CCC4', 'AAA5', 'BBB5', 'CCC5', 'AAA6', 'BBB6', 'CCC6', 'AAA7', 'BBB7', 'CCC7', 'AAA8', 'BBB8', 'CCC8', 'AAA9', 'BBB9', 'CCC9', 'AAA10', 'BBB10', 'CCC10', 'AAA11', 'BBB11', 'CCC11', 'AAA12', 'BBB12', 'CCC12', 'AAA13', 'BBB13', 'CCC13', 'AAA14', 'BBB14', 'CCC14', 'AAA15', 'BBB15', 'CCC15', 'AAA16', 'BBB16', 'CCC16', 'AAA17', 'BBB17', 'CCC17', 'AAA18', 'BBB18', 'CCC18', 'AAA19', 'BBB19', 'CCC19', 'AAA20', 'BBB20', 'CCC20', 'AAA21', 'BBB21', 'CCC21', 'AAA22', 'BBB22', 'CCC22', 'AAA23', 'BBB23', 'CCC23', 'AAA24', 'BBB24', 'CCC24', 'AAA25', 'BBB25', 'CCC25', 'AAA26', 'BBB26', 'CCC26', 'AAA27', 'BBB27', 'CCC27', 'AAA28', 'BBB28', 'CCC28', 'AAA29', 'BBB29', 'CCC29', 'AAA30', 'BBB30', 'CCC30', 'AAA31', 'BBB31', 'CCC31', 'AAA32', 'BBB32', 'CCC32', 'AAA33', 'BBB33', 'CCC33', 'AAA34', 'BBB34', 'CCC34', 'AAA35', 'BBB35', 'CCC35', 'AAA36', 'BBB36', 'CCC36', 'AAA37', 'BBB37', 'CCC37', 'AAA38', 'BBB38', 'CCC38', 'AAA39', 'BBB39', 'CCC39', 'AAA40', 'BBB40', 'CCC40', 'AAA41', 'BBB41', 'CCC41', 'AAA42', 'BBB42', 'CCC42', 'AAA43', 'BBB43', 'CCC43', 'AAA44', 'BBB44', 'CCC44', 'AAA45', 'BBB45', 'CCC45', 'AAA46', 'BBB46', 'CCC46', 'AAA47', 'BBB47', 'CCC47', 'AAA48', 'BBB48', 'CCC48', 'AAA49', 'BBB49', 'CCC49', 'AAA50', 'BBB50', 'CCC50', 'AAA51', 'BBB51', 'CCC51', 'AAA52', 'BBB52', 'CCC52', 'AAA53', 'BBB53', 'CCC53', 'AAA54', 'BBB54', 'CCC54', 'AAA55', 'BBB55', 'CCC55', 'AAA56', 'BBB56', 'CCC56', 'AAA57', 'BBB57', 'CCC57', 'AAA58', 'BBB58', 'CCC58', 'AAA59', 'BBB59', 'CCC59', 'AAA60', 'BBB60', 'CCC60', 'AAA61', 'BBB61', 'CCC61', 'AAA62', 'BBB62', 'CCC62', 'AAA63', 'BBB63', 'CCC63', 'AAA64', 'BBB64', 'CCC64', 'AAA65', 'BBB65', 'CCC65', 'AAA66', 'BBB66', 'CCC66', 'AAA67', 'BBB67', 'CCC67', 'AAA68', 'BBB68', 'CCC68', 'AAA69', 'BBB69', 'CCC69', 'AAA70', 'BBB70', 'CCC70', 'AAA71', 'BBB71', 'CCC71', 'AAA72', 'BBB72', 'CCC72', 'AAA73', 'BBB73', 'CCC73', 'AAA74', 'BBB74', 'CCC74', 'AAA75', 'BBB75', 'CCC75', 'AAA76', 'BBB76', 'CCC76', 'AAA77', 'BBB77', 'CCC77', 'AAA78', 'BBB78', 'CCC78', 'AAA79', 'BBB79', 'CCC79', 'AAA80', 'BBB80', 'CCC80', 'AAA81', 'BBB81', 'CCC81', 'AAA82', 'BBB82', 'CCC82', 'AAA83', 'BBB83', 'CCC83', 'AAA84', 'BBB84', 'CCC84', 'AAA85', 'BBB85', 'CCC85', 'AAA86', 'BBB86', 'CCC86', 'AAA87', 'BBB87', 'CCC87', 'AAA88', 'BBB88', 'CCC88', 'AAA89', 'BBB89', 'CCC89', 'AAA90', 'BBB90', 'CCC90', 'AAA91', 'BBB91', 'CCC91', 'AAA92', 'BBB92', 'CCC92', 'AAA93', 'BBB93', 'CCC93', 'AAA94', 'BBB94', 'CCC94', 'AAA95', 'BBB95', 'CCC95', 'AAA96', 'BBB96', 'CCC96', 'AAA97', 'BBB97', 'CCC97', 'AAA98', 'BBB98', 'CCC98', 'AAA99', 'BBB99', 'CCC99']
关于python - 组合字符串列表,提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56216738/
如何使用 SPListCollection.Add(String, String, String, String, Int32, String, SPListTemplate.QuickLaunchO
我刚刚开始使用 C++ 并且对 C# 有一些经验,所以我有一些一般的编程经验。然而,似乎我马上就被击落了。我试过在谷歌上寻找,以免浪费任何人的时间,但没有结果。 int main(int argc,
这个问题已经有答案了: In Java 8 how do I transform a Map to another Map using a lambda? (8 个回答) Convert a Map>
我正在使用 node + typescript 和集成的 swagger 进行 API 调用。我 Swagger 提出以下要求 http://localhost:3033/employees/sear
我是 C++ 容器模板的新手。我收集了一些记录。每条记录都有一个唯一的名称,以及一个字段/值对列表。将按名称访问记录。字段/值对的顺序很重要。因此我设计如下: typedef string
我需要这两种方法,但j2me没有,我找到了一个replaceall();但这是 replaceall(string,string,string); 第二个方法是SringBuffer但在j2me中它没
If string is an alias of String in the .net framework为什么会发生这种情况,我应该如何解释它: type JustAString = string
我有两个列表(或字符串):一个大,另一个小。 我想检查较大的(A)是否包含小的(B)。 我的期望如下: 案例 1. B 是 A 的子集 A = [1,2,3] B = [1,2] contains(A
我有一个似乎无法解决的小问题。 这里...我有一个像这样创建的输入... var input = $(''); 如果我这样做......一切都很好 $(this).append(input); 如果我
我有以下代码片段 string[] lines = objects.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.No
这可能真的很简单,但我已经坚持了一段时间了。 我正在尝试输出一个字符串,然后输出一个带有两位小数的 double ,后跟另一个字符串,这是我的代码。 System.out.printf("成本:%.2
以下是 Cloud Firestore 列表查询中的示例之一 citiesRef.where("state", ">=", "CA").where("state", "= 字符串,我们在Stack O
我正在尝试检查一个字符串是否包含在另一个字符串中。后面的代码非常简单。我怎样才能在 jquery 中做到这一点? function deleteRow(locName, locID) { if
这个问题在这里已经有了答案: How to implement big int in C++ (14 个答案) 关闭 9 年前。 我有 2 个字符串,都只包含数字。这些数字大于 uint64_t 的
我有一个带有自定义转换器的 Dozer 映射: com.xyz.Customer com.xyz.CustomerDAO customerName
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 6 年前。 我想了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是
我已阅读 this问题和其他一些问题。但它们与我的问题有些无关 对于 UILabel 如果你不指定 ? 或 ! 你会得到这样的错误: @IBOutlet property has non-option
这两种方法中哪一种在理论上更快,为什么? (指向字符串的指针必须是常量。) destination[count] 和 *destination++ 之间的确切区别是什么? destination[co
This question already has answers here: Closed 11 years ago. Possible Duplicates: Is String.Format a
我有一个Stream一个文件的,现在我想将相同的单词组合成 Map这很重要,这个词在 Stream 中出现的频率. 我知道我必须使用 collect(Collectors.groupingBy(..)
我是一名优秀的程序员,十分优秀!