python中嵌套for循环的替代方法

阿尼什

我正在处理实体列表的笛卡尔积。

For e.g. a_list = ['a','b']

预期的输出是:

"a";"a"&"a";"b"&"b";"a"&"b";"b"

实体对中的每个实体都用分号“;”隔开 每个实体对以“&”分隔。

我使用以下嵌套的 for 循环来实现输出。

entity_set = ['a','b']

domain_text = ''
count = 0
for entity1 in entity_set:
    for entity2 in entity_set:
        count += 1
        domain_text += '"' + entity1 + '"' + ';' + '"' + entity2 + '"'
        if count < (len(entity_set)*len(entity_set)):
            domain_text += '&'
print domain_text

但是,随着 a_list 的大小增加到数千个实体,该过程变得太慢。

是否有任何优雅的解决方案可以替代使用?

蒂姆·彼得斯

当然。itertools.product()可以为您做产品,然后字符串连接操作可以有效地将所有部分粘贴在一起(这很可能不是树懒真正来源:一次一小部分增量构建结果字符串)。

from itertools import product
entity_set = ['a', 'b']
result = "&".join('"%s";"%s"' % pair
                  for pair in product(entity_set, repeat=2))

然后result打印为

"a";"a"&"a";"b"&"b";"a"&"b";"b"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套循环的替代方法

来自分类Dev

嵌套循环的较短替代方法

来自分类Dev

什么可以替代 R 中的嵌套循环

来自分类Dev

R中for循环的替代方法?

来自分类Dev

R中for循环的替代方法

来自分类Dev

R中for循环的替代方法

来自分类Dev

更好的替代嵌套循环

来自分类Dev

嵌套for循环的替代方案?

来自分类Dev

R中嵌套ifelse语句的替代方法

来自分类Dev

Python:更改函数或替代方法的循环if语句

来自分类Dev

C ++中基于范围的for循环的替代方法

来自分类Dev

SQL Server中for循环的替代方法

来自分类Dev

在Python中编写多重嵌套的for循环的最佳方法是什么

来自分类Dev

退出Python中的嵌套循环

来自分类Dev

Python中的单行嵌套For循环

来自分类Dev

在python中组合嵌套的for循环

来自分类Dev

嵌套枚举的替代方法

来自分类Dev

嵌套承诺的替代方法

来自分类Dev

嵌套链接的替代方法

来自分类Dev

C:循环的替代方法

来自分类Dev

昂贵的for if循环的替代方法

来自分类Dev

for循环的替代方法

来自分类Dev

for循环的更快替代方法

来自分类Dev

下面是FOR循环的替代方法

来自分类Dev

Kotlin中“ For循环”中Thread.Sleep()的替代方法?

来自分类Dev

VBA中是否有for-if循环的替代方法?

来自分类Dev

嵌套“ For”循环的替代解决方案

来自分类Dev

python中的循环和嵌套导入

来自分类Dev

在python中并行嵌套此for循环