【发布时间】:2019-08-13 09:38:44
【问题描述】:
我有一系列列表,请称它们为A、B、C、D、E。现在每个列表都有 5 个名称相同的元素,比如:
A: [ 'Cars_A', 'Planes_A', 'Houses_A', 'Bikes_A' ]
B: [ 'Cars_B', 'Planes_B', 'Houses_B', 'Bikes_B' ]
etc..
我想要的是一个列表列表,格式为:
[ ['Cars_A', 'Planes_B'], ['Cars_A', 'Houses_B'], ['Cars_A', 'Bikes_B'],
['Planes_A', 'Cars_B'], ['Planes_A', 'Houses_B'], ['Planes_A', 'Bikes_B'],
['Houses_A', 'Cars_B'], ['Houses_A', 'Planes_B'], ['Houses_A', 'Bikes_B'],
['Bikes_A', 'Cars_B'], ['Bikes_A', 'Planes_B'], ['Bikes_A', 'Houses_B'] ]
可以看出,这个列表的规则是:
- 一个元素不能与同一集合中的另一个元素组合在一起,例如,
['Cars_A', 'Planes_A']是不允许的。 - 一个元素不能与来自不同集合的相似元素分组,例如,
['Cars_A', 'Cars_B']是不允许的。
我现在的尝试是对所有 5 个列表进行嵌套 for 循环,但我想尽可能避免这种情况。有任何想法吗?
【问题讨论】:
-
已更改,它们都是列表,对此感到抱歉。
-
你说我现在的尝试是为所有 5 个列表做嵌套的 for 循环。你能告诉我们吗?
-
如何定义“相似”元素?是“直到下划线的相同文本”还是其他?
-
相同的文字到下划线,是的。
-
你说列表中的顺序是一样的,但是所有元素也是一样的(除了明显的“_A”,“_B”不同)?这个例子表明了。
标签: python arrays python-3.x list