我很抱歉问这么简单的问题,但是有一种Python方法可以让人们将两个列表中的字符串“分发”到一个列表中吗?我的意思是在数学意义上“分配”,因此在另一个列表(“c”,“d”)中分发列表(“a”,“b”)并将输出呈现为单个列表将产生(“a”, “c”,“a”,“d”,“b”,“c”,“b”,“d”)。我试着在SO上寻找这样的方法,但还没找到任何东西。
写出一个完成此操作的脚本并不困难,但是是否有一个本机方法或来自任何现存包的方法可以为字符串实现这种“分发”? (我问,因为我试图通过界面运行一系列邻近搜索,我想在数据库中找到包含两个不同单词列表中的一个或多个单词的所有记录。)
答案 0 :(得分:4)
从这里可以简单地将容器压平为一个:
>>> print(list(itertools.product(['a', 'b'], ['c', 'd'])))
[('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')]