两个列表的排列

2024-10-02 10:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个清单:

first = ["one", "two", "three"]
second = ["five", "six", "seven"]

我希望这两个列表的每一个组合,但是第一个列表中的元素总是放在前面。我试过这样的方法:

^{pr2}$

其中“组合”是这两个列表的组合,但这给了我所有的可能性,我只想要第一个列表中的元素在第一个位置。例如:

["onefive","twosix","twofive"]

等等。 有人知道我怎么做这个吗?在


Tags: 方法元素列表可能性onefirstthreesecond
2条回答

这应该符合您的要求:

>>> ["/".join(x) for x in itertools.product(first, second)]
['one/five', 'one/six', 'one/seven', 'two/five', 'two/six', 'two/seven', 'three/five', 'three/six', 'three/seven']
>>> 

您也可以不使用itertools

^{pr2}$

有时使用普通循环最简单:

["{}/{}".format(j,k) for j in first for k in second]

>>> ['one/five', 'one/six', 'one/seven', 'two/five', 'two/six', 
     'two/seven', 'three/five', 'three/six', 'three/seven']

相关问题 更多 >

    热门问题