我试图创建列表中包含的一组字符串的所有唯一组合。问题是,我得到的不是字符串中单词的唯一组合,而是所有单独的字母组合。我需要在这个代码中做些什么来保持单词的一致性
from itertools import combinations
mylist = ['green bird','black dog','tan cat']
tlist = list(
map(lambda x: list(combinations(x, 2)), mylist)
)
tlist[0:3]
给予
[[('g', 'r'),
('g', 'e'),
('g', 'e'),
('g', 'n'),
('g', ' '),
('g', 'b'),
('g', 'i'),
('g', 'r'),
('g', 'd'),
...
但我想
[[('green bird', 'black dog'), ('green bird', 'tan cat'), ('black dog', 'tan cat')]]
你让事情变得比需要的更复杂了
combinations
will already generate给定iterable
和预期序列长度r
的组合输出是一个
generator
,因此要获取列表,只需对其调用一次list()
你就是这样做的:
输出:
相关问题 更多 >
编程相关推荐