当前位置: 首页 > 面试题库 >

Itertools产品,无需重复

陈胤
2023-03-14
问题内容
from itertools import product
teams = ['india', 'australia', 'new zealand']
word_and = ['and']
tmp = '%s %s %s'
items = [teams, word_and, teams]
print(list(tmp % a for a in list(product(*items))))

印刷品:

['india and india',
 'india and australia',
 'india and new zealand',
 'australia and india',
 'australia and australia',
 'australia and new zealand',
 'new zealand and india',
 'new zealand and australia',
 'new zealand and new zealand']

如何:

  1. 避免在单个句子中重复使用相同的名称(印度和印度)
  2. 仅产生一种组合(印度和澳大利亚或澳大利亚和印度)

http://pythonfiddle.com/product-without-matching-
duplicates


问题答案:

你应该使用itertools.combinations这样的

>>> from itertools import combinations
>>> teams = ['india', 'australia', 'new zealand']
>>> [" and ".join(items) for items in combinations(teams, r=2)]
['india and australia', 'india and new zealand', 'australia and new zealand']

但是对于这种简单的情况,您可以运行两个循环,如下所示

>>> ["%s and %s" % (t1, t2) for i, t1 in enumerate(teams) for t2 in teams[i + 1:]]
['india and australia', 'india and new zealand', 'australia and new zealand']


 类似资料:
  • 问题内容: 因此,我尝试尝试计算以下字符串的数百万种不同组合,但我每秒仅计算大约1,750种组合,这甚至还远没有达到我所需的速度。那么,我将如何重塑这种形状,以便同一件事情的多个过程正在计算不同的零件,而不是在计算已经计算出的零件并保持快速的速度呢?下面的代码部分是我一直在使用的代码。任何例子将不胜感激! 问题答案: 将产品分解成一个部分的一种方法是分解产品的第一个组成部分,以便每个独立的作业都具

  • Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools提供的几个“无限”迭代器: >>> import itertools >>> natuals = itertools.count(1) >>> for n in natuals: ... print n ... 1 2 3 ... 因为count()会创建一个无限的迭代器,所

  • Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数。 首先,我们看看itertools提供的几个“无限”迭代器: >>> import itertools >>> natuals = itertools.count(1) >>> for n in natuals: ... print(n) ... 1 2 3 ... 因为count()会创建一个无限的迭代器,

  • 当面试者在面试中遇到这个问题的时候,通常面试官是在问面试者在项目当中如何收集到的需求,绝大部分都是“ 用户需求 ”,所谓用户需求,是指听到用户说想要的东西,以及用户以为自己想要的东西,而产品经理要做的,就是思考如下三个问题:     1、这个需求靠谱么?(需求的判断)     2、这个需求真的是需求么?(需求的挖掘)     3、怎么向别人讲清楚这个需求?(需求的描述) 1.需求的判断     产

  • 模块: itertools 目的: 用于高效循环的迭代函数 python版本: 2.3+ 描述 这个模块中提供的函数具有和”lazy functional programming language” Haskell 和 SML 相似的特点. 他们都是为了跑得更快和更有效的使用内存. 但他们也被牵扯在一起以表示更为复杂的迭代算法. 由于某些原因, 基于迭代的代码可能更优于使用列表的代码. 由于数据只

  • 我需要在单产品页面内容中输出WooCommerce产品ID。我有一个表格,它显示了几行不同的内容,但是这个表格非常适合显示所有的页面产品。但是当有人点击产品时,我想把它渲染到单个产品页面。我运气不好。 这就是我所拥有的,但我肯定这是大错特错的。