繁体   English   中英

在列表中创建对象对

[英]Creating pairs of objects in a list

我有一个对象列表:

object_list = ['distance', 'alpha1', 'alpha2', 'gamma']

我想使用这些对象的配对组合获得一个新列表,例如:

new_list = [ ['distance', 'alpha1'], ['distance', 'alpha2'], ['distance', 'gamma'],['alpha1', 'alpha2'], [ 'alpha1', 'gamma'] ... ]

通常,我将获得24个子列表(案例)。

itertools.combinations或者如果顺序并不重要和itertools.permutations如果为了事项

itertools.combinations

>>> a = ['a', 'b', 'c']
>>> list(itertools.combinations(a, 2))
('a', 'b'), ('a', 'c'), ('b', 'c')]   # Order isn't important

itertools.permutations

>>> a = ['a', 'b', 'c']
>>> list(itertools.permutations(a, 2))
[('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')]  #Order matters

看看itertools - itertools.combinations似乎是您想要的东西。 使用像

import itertools
object_list = ['distance', 'alpha1', 'alpha2', 'gamma']
new_list = list(itertools.combinations(object_list, 2))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM