在操作python列表时,如何将字符串保持在一起?

2024-05-14 00:11:33 发布

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

我试图创建列表中包含的一组字符串的所有唯一组合。问题是,我得到的不是字符串中单词的唯一组合,而是所有单独的字母组合。我需要在这个代码中做些什么来保持单词的一致性

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')]]

Tags: 字符串代码列表green单词listcatblack
2条回答

你让事情变得比需要的更复杂了combinationswill already generate给定iterable和预期序列长度r的组合

输出是一个generator,因此要获取列表,只需对其调用一次list()

from itertools import combinations

tlist = list(combinations(mylist, 2))

你就是这样做的:

from itertools import combinations

mylist = ['green bird','black dog','tan cat']
result = list(combinations(mylist, 2))
print(result)

输出:

[('green bird', 'black dog'), ('green bird', 'tan cat'), ('black dog', 'tan cat')]

相关问题 更多 >