我有一句话
string = 'senior engineer/developer in school/university'
Run Code Online (Sandbox Code Playgroud)
我的除了输出组合是
string_list = ['senior engineer in school', 'senior engineer in university',
'senior developer in school', 'senior developer in school]
Run Code Online (Sandbox Code Playgroud)
我想通过基于“/”拆分句子来进行组合。有没有办法以这种方式拆分?我在看 itertools 但它不是我期望的方式
x = string.split('/')
x = [y.split() for y in x]
print(list(combinations(x,len(x))))
Run Code Online (Sandbox Code Playgroud)
使用itertools.product和巧妙拆分:
from itertools import product
list(map(' '.join, product(*(s.split('/') for s in string.split()))))
# ['senior engineer in school',
# 'senior engineer in university',
# 'senior developer in school',
# 'senior developer in university']
Run Code Online (Sandbox Code Playgroud)
这首先按空格分割,然后每个标记按斜杠分割。product然后从生成的嵌套迭代构建所有组合。当这些组合产生为 时tuples,我们将' '.join它们重新变成句子 ( str)。
| 归档时间: |
|
| 查看次数: |
30 次 |
| 最近记录: |