输入是一个未知数的排列组合,我想用多个列表来处理每个排列组合。因此,例如,输入是"(1,2,3)(5,3,2)(2,4,1)",我希望它是[[1,2,3],[5,3,2],[2,4,1]]。
有什么想法吗?
这里有一个单行本,你可以用。
s = "(1,2,3)(5,3,2)(2,4,1)"
s = [list(map(int, x.lstrip('(').rstrip(')').split(','))) for x in s.split(')(')]
print(s)
#Output
[[1, 2, 3], [5, 3, 2], [2, 4, 1]]
首先,我们通过以下方式分割 ')('
. 但我们还必须去掉起止括号。我们使用 lstrip
和 rstrip
为,。
内在的 split(',')
然后将这些数字分开。然后我们将它们转换为 int
使用 map
并将其包裹在内层的 list
.